{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e5e3157d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T07:12:54.320101Z",
     "start_time": "2024-06-28T07:12:51.607763Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "erp_khxd:\n",
      " id            object\n",
      "khxx_id       object\n",
      "zd_id         object\n",
      "hplx           int64\n",
      "cpgg           int64\n",
      "cppp           int64\n",
      "fhdw         float64\n",
      "hyfs           int64\n",
      "ywlx_code     object\n",
      "fhd_id        object\n",
      "dzsj          object\n",
      "create_by     object\n",
      "dtype: object\n",
      "erp_fhjl:\n",
      " id              object\n",
      "ddap_id         object\n",
      "khxx_id         object\n",
      "zdxx_id         object\n",
      "khxd_id         object\n",
      "fhdxx_id        object\n",
      "hplx             int64\n",
      "cpgg             int64\n",
      "cppp             int64\n",
      "jz             float64\n",
      "dzdw           float64\n",
      "dj             float64\n",
      "hk             float64\n",
      "clxx_id         object\n",
      "create_time     object\n",
      "dtype: object\n",
      "sys_user:\n",
      " user_id      object\n",
      "user_name    object\n",
      "nick_name    object\n",
      "dtype: object\n",
      "erp_khxx:\n",
      " id           object\n",
      "khmc         object\n",
      "user_name    object\n",
      "dtype: object\n",
      "erp_clxx:\n",
      " id     object\n",
      "cph    object\n",
      "dtype: object\n",
      "erp_fhdxx:\n",
      " id       object\n",
      "fhdlx     int64\n",
      "mc       object\n",
      "dtype: object\n",
      "erp_zdxx:\n",
      " id         object\n",
      "khxx_id    object\n",
      "zdmc       object\n",
      "dtype: object\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\86130\\AppData\\Local\\Temp\\ipykernel_2640\\2804272690.py:40: FutureWarning: Passing 'suffixes' which cause duplicate columns {'id_x'} in the result is deprecated and will raise a MergeError in a future version.\n",
      "  merged_data = pd.merge(merged_data, erp_clxx, left_on='clxx_id', right_on='id', how='left')\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "合并后的数据：\n",
      "    id_x khxx_id_x zd_id  hplx_x  cpgg_x  cppp_x   fhdw  hyfs      ywlx_code  \\\n",
      "0  2022        74    52       0       0       1  100.0     1  配送 (贸易+起驳+运输)   \n",
      "1  2022        74    52       0       0       1  100.0     1  配送 (贸易+起驳+运输)   \n",
      "2  2023       216   271       0       0       0   50.0     1     自提 (贸易+起驳)   \n",
      "3  2025       218   273       1       1       8   50.0     0        自提 (贸易)   \n",
      "4  2026        40    48       1       1       9   35.0     0     配送 (贸易+运输)   \n",
      "\n",
      "  fhd_id  ...  khmc user_name_y  id_y      cph id_x fhdlx    mc  id_y  \\\n",
      "0    124  ...  合志瑞景   DS0405000    76  鄂AEL662  124     2  德旺码头    52   \n",
      "1    124  ...  合志瑞景   DS0405000    79  鄂ASS882  124     2  德旺码头    52   \n",
      "2    121  ...  思阳商贸   DS0404003   411  鄂AQR812  121     2  江南码头   271   \n",
      "3    103  ...  中昇东浩   DS0401002   314  鄂L1D516  103     0   金盛兰   273   \n",
      "4    105  ...   鑫和盛   DS0406000   123  鄂AFX865  105     0  武新二期    48   \n",
      "\n",
      "   khxx_id_y    zdmc  \n",
      "0         74   华升阳砖厂  \n",
      "1         74   华升阳砖厂  \n",
      "2        216      自提  \n",
      "3        218  中昇东浩商砼  \n",
      "4         40  武汉鑫正商砼  \n",
      "\n",
      "[5 rows x 40 columns]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\86130\\AppData\\Local\\Temp\\ipykernel_2640\\2804272690.py:42: FutureWarning: Passing 'suffixes' which cause duplicate columns {'id_x'} in the result is deprecated and will raise a MergeError in a future version.\n",
      "  merged_data = pd.merge(merged_data, erp_zdxx, left_on='zd_id', right_on='id', how='left')\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "\n",
    "# 读取所有表格数据\n",
    "erp_khxd = pd.read_csv('ERP_KHXD.csv')\n",
    "erp_fhjl = pd.read_csv('ERP_FHJL.csv')\n",
    "sys_user = pd.read_csv('sys_user.csv')\n",
    "erp_khxx = pd.read_csv('ERP_KHXX.csv')\n",
    "erp_clxx = pd.read_csv('ERP_CLXX.csv')\n",
    "erp_fhdxx = pd.read_csv('ERP_FHDXX.csv')\n",
    "erp_zdxx = pd.read_csv('ERP_ZDXX.csv')\n",
    "\n",
    "# 转换所有关键列的数据类型为 object\n",
    "erp_khxd = erp_khxd.astype({'id': 'object', 'khxx_id': 'object', 'zd_id': 'object', 'fhd_id': 'object', 'create_by': 'object'})\n",
    "erp_fhjl = erp_fhjl.astype({'id': 'object', 'ddap_id': 'object', 'khxx_id': 'object', 'zdxx_id': 'object', 'khxd_id': 'object', 'fhdxx_id': 'object', 'clxx_id': 'object'})\n",
    "sys_user = sys_user.astype({'user_id': 'object'})\n",
    "erp_khxx = erp_khxx.astype({'id': 'object'})\n",
    "erp_clxx = erp_clxx.astype({'id': 'object'})\n",
    "erp_fhdxx = erp_fhdxx.astype({'id': 'object'})\n",
    "erp_zdxx = erp_zdxx.astype({'id': 'object', 'khxx_id': 'object'})\n",
    "\n",
    "# 打印各表数据类型确认\n",
    "print(\"erp_khxd:\\n\", erp_khxd.dtypes)\n",
    "print(\"erp_fhjl:\\n\", erp_fhjl.dtypes)\n",
    "print(\"sys_user:\\n\", sys_user.dtypes)\n",
    "print(\"erp_khxx:\\n\", erp_khxx.dtypes)\n",
    "print(\"erp_clxx:\\n\", erp_clxx.dtypes)\n",
    "print(\"erp_fhdxx:\\n\", erp_fhdxx.dtypes)\n",
    "print(\"erp_zdxx:\\n\", erp_zdxx.dtypes)\n",
    "\n",
    "# 进行数据合并操作\n",
    "merged_data = pd.merge(erp_khxd, erp_fhjl, left_on=['id', 'khxx_id'], right_on=['khxd_id', 'khxx_id'], how='inner')\n",
    "merged_data = pd.merge(merged_data, sys_user, left_on='create_by', right_on='user_id', how='left')\n",
    "merged_data = pd.merge(merged_data, erp_khxx, left_on='khxx_id', right_on='id', how='left')\n",
    "merged_data = pd.merge(merged_data, erp_clxx, left_on='clxx_id', right_on='id', how='left')\n",
    "merged_data = pd.merge(merged_data, erp_fhdxx, left_on='fhd_id', right_on='id', how='left')\n",
    "merged_data = pd.merge(merged_data, erp_zdxx, left_on='zd_id', right_on='id', how='left')\n",
    "\n",
    "# 打印合并后的数据\n",
    "print(\"合并后的数据：\\n\", merged_data.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7c2df78f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T07:12:54.553983Z",
     "start_time": "2024-06-28T07:12:54.322106Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 47897 entries, 0 to 47896\n",
      "Data columns (total 37 columns):\n",
      " #   Column       Non-Null Count  Dtype  \n",
      "---  ------       --------------  -----  \n",
      " 0   id_x         47897 non-null  object \n",
      " 1   khxx_id_x    47897 non-null  object \n",
      " 2   zd_id        47897 non-null  object \n",
      " 3   hplx_x       47897 non-null  int64  \n",
      " 4   cpgg_x       47897 non-null  int64  \n",
      " 5   cppp_x       47897 non-null  int64  \n",
      " 6   fhdw         47897 non-null  float64\n",
      " 7   hyfs         47897 non-null  int64  \n",
      " 8   ywlx_code    47897 non-null  object \n",
      " 9   fhd_id       47897 non-null  object \n",
      " 10  dzsj         47897 non-null  object \n",
      " 11  create_by    47897 non-null  object \n",
      " 12  id_y         47897 non-null  object \n",
      " 13  ddap_id      47897 non-null  object \n",
      " 14  zdxx_id      47897 non-null  object \n",
      " 15  khxd_id      47897 non-null  object \n",
      " 16  fhdxx_id     47897 non-null  object \n",
      " 17  hplx_y       47897 non-null  int64  \n",
      " 18  cpgg_y       47897 non-null  int64  \n",
      " 19  cppp_y       47897 non-null  int64  \n",
      " 20  jz           47897 non-null  float64\n",
      " 21  dzdw         47811 non-null  float64\n",
      " 22  dj           47897 non-null  float64\n",
      " 23  hk           47897 non-null  float64\n",
      " 24  clxx_id      47897 non-null  object \n",
      " 25  create_time  47897 non-null  object \n",
      " 26  id_x         47296 non-null  object \n",
      " 27  khmc         47296 non-null  object \n",
      " 28  user_name_y  47296 non-null  object \n",
      " 29  id_y         47896 non-null  object \n",
      " 30  cph          47896 non-null  object \n",
      " 31  id_x         47897 non-null  object \n",
      " 32  fhdlx        47897 non-null  int64  \n",
      " 33  mc           47897 non-null  object \n",
      " 34  id_y         47882 non-null  object \n",
      " 35  khxx_id_y    47882 non-null  object \n",
      " 36  zdmc         47882 non-null  object \n",
      "dtypes: float64(5), int64(8), object(24)\n",
      "memory usage: 13.9+ MB\n",
      "None\n",
      "删除空白列后的数据情况：\n",
      "   id_x khxx_id_x zd_id  hplx_x  cpgg_x  cppp_x   fhdw  hyfs      ywlx_code  \\\n",
      "0  2022        74    52       0       0       1  100.0     1  配送 (贸易+起驳+运输)   \n",
      "1  2022        74    52       0       0       1  100.0     1  配送 (贸易+起驳+运输)   \n",
      "2  2023       216   271       0       0       0   50.0     1     自提 (贸易+起驳)   \n",
      "3  2025       218   273       1       1       8   50.0     0        自提 (贸易)   \n",
      "4  2026        40    48       1       1       9   35.0     0     配送 (贸易+运输)   \n",
      "\n",
      "  fhd_id  ...  khmc user_name_y  id_y      cph id_x fhdlx    mc  id_y  \\\n",
      "0    124  ...  合志瑞景   DS0405000    76  鄂AEL662  124     2  德旺码头    52   \n",
      "1    124  ...  合志瑞景   DS0405000    79  鄂ASS882  124     2  德旺码头    52   \n",
      "2    121  ...  思阳商贸   DS0404003   411  鄂AQR812  121     2  江南码头   271   \n",
      "3    103  ...  中昇东浩   DS0401002   314  鄂L1D516  103     0   金盛兰   273   \n",
      "4    105  ...   鑫和盛   DS0406000   123  鄂AFX865  105     0  武新二期    48   \n",
      "\n",
      "   khxx_id_y    zdmc  \n",
      "0         74   华升阳砖厂  \n",
      "1         74   华升阳砖厂  \n",
      "2        216      自提  \n",
      "3        218  中昇东浩商砼  \n",
      "4         40  武汉鑫正商砼  \n",
      "\n",
      "[5 rows x 37 columns]\n"
     ]
    }
   ],
   "source": [
    "# 删除所有值都为空的列\n",
    "merged_data.dropna(axis=1, how='all', inplace=True)\n",
    "\n",
    "# 打印处理后的数据框信息，确认空白列已删除\n",
    "print(merged_data.info())\n",
    "\n",
    "# 确认删除空白列后的数据情况\n",
    "print(\"删除空白列后的数据情况：\")\n",
    "print(merged_data.head())  # 打印前几行确认"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a411255d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T07:12:55.004083Z",
     "start_time": "2024-06-28T07:12:54.554986Z"
    }
   },
   "outputs": [],
   "source": [
    "# 保存合并后的表格\n",
    "merged_data.to_csv('merged_data.csv', \n",
    "                   index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "68994ad6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T07:12:58.172428Z",
     "start_time": "2024-06-28T07:12:57.956265Z"
    }
   },
   "outputs": [],
   "source": [
    "# 1. 分析每年的总销售收入\n",
    "merged_data['year'] = merged_data['dzsj'].str[:4]  # 提取年份\n",
    "annual_revenue = merged_data.groupby('year')['hk'].sum().reset_index()\n",
    "annual_revenue.columns = ['Year', 'Total Revenue']\n",
    "\n",
    "# 设置文件名和路径\n",
    "output_file = '每年的总销售收入'\n",
    "\n",
    "# 绘制图表\n",
    "plt.figure(figsize=(10, 6))\n",
    "sns.barplot(x='Year', y='Total Revenue', data=annual_revenue)\n",
    "plt.title('Annual Total Revenue')\n",
    "plt.xlabel('Year')\n",
    "plt.ylabel('Total Revenue')\n",
    "\n",
    "# 保存图表到文件\n",
    "plt.savefig(output_file)\n",
    "\n",
    "plt.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "37186fbc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-29T03:16:56.602295Z",
     "start_time": "2024-06-29T03:16:56.194071Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAKACAYAAACWp0mXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAADKYUlEQVR4nOzde3zO9f/H8ee1I+Ywa86Ts5xLDomiZJNY8TU5dJRUSDmGSkhCIb4lUr75FpKS8yHniZxlOZPz2TAbG9u163r//vDb9bU27LPNrmmP++123eq6Pp/P9X59Xq7r2vW8PiebMcYIAAAAAJBmHu4uAAAAAADuNgQpAAAAALCIIAUAAAAAFhGkAAAAAMAighQAAAAAWESQAgAAAACLCFIAAAAAYBFBCgAAAAAsIkgBANyGa8IDAO5WBCkAyIFOnjypN954QxcuXEgx7e2339acOXOypI6GDRtq8ODBGX6e5cuXq1OnToqLi0v3c9jtdh04cCDN88fFxcnhcNxynsTERMXGxsrpdN50nqNHj2rBggWpTlu+fLnWrl2bpnri4+OT/f/SpUvTtFxkZKRmzJih6Ojo284bGxubpucEgJzAy90FAACyXq5cubRgwQJFRkZq1qxZrsf//PNP/fvf/1bTpk3veA3z5s3Txo0b9dlnn6V5mZMnT+ry5cspHt+7d6/+85//qHbt2nr88cdTTC9UqJDuueeeWz73u+++q5kzZ+qvv/6St7f3bWupWLGiTp48maa69+zZo0qVKqU6bd26derbt2+qz/XLL78oKipKdevW1eXLl2+6DsePH1edOnU0ffp0NW7cWH/88YeaNm2q33//XQ8//PAtazt48KDat2+vo0ePqkCBApKkixcv6vDhwzp16pQOHTqkP//8U2vWrJGPj482bNigfPnypWm9AeCfzGbYrwIA/vESEhIUHx8vX19f+fj4SJJmz56tI0eO6O2335aHx/UdFJ599lk5nU79/PPPkq5vUYmLi1O+fPlks9kkSS+88ILKlSuX6pakUaNGady4cYqPj9frr7+uIUOGuJ77RjExMapevbqOHTt205oLFy6s3bt3JwsP7du314wZMyyv/yeffKK+ffvecp4jR46obNmymjZtmtq3b3/b5zxy5Ii8vLzk5eXluv/www/rt99+U/ny5SVd7198fLxKlizp6vuVK1d09epV+fj4yNPTU3PnztV7772nnTt3yhjj+nfKly+f+vfvr1OnTikgIECnT5/Wjz/+mGot3bp1048//qiDBw+6wlBoaKjOnTundevWuWpMzfbt21WzZk3FxMS4AtKAAQM0btw4PfDAA7r33ntVqlQplStXTmXLltWDDz6ogICA2/YHAP7p2CIFADnA9OnT1bFjx1Sn9erVK8VjSaEpSVRUlPz9/TVq1ChNnTpVgwYNSrHM2LFj9c4772jQoEGqXbu23n77beXNm1f9+vVLNp/D4VDHjh1VuHBhRUREpPiSv3btWj311FP64osvUmyByZ07txo1aqTVq1dLuh5e/v3vf6t79+4qU6ZMqutXunRp5cqVK9ljCQkJOnToUIp53333XQUEBGjv3r3JHs+XL59KlCiR4nlvdOXKFUlSYGCgihYtmmotkjR+/HgNHDhQPj4+8vLykt1u17Vr1xQUFOQKUu+8844+/PBD5cqVSx4eHuratauqVq2qEydOKCgoKNnz/fXXX5o8ebJGjhzpClGSNHr0aN1///0aOnSohgwZkqIOh8MhT09P132bzebaBTFXrlyqW7euq88AgJQIUgCQA7Ru3VpPPvmk/Pz80rTbWpLY2FjFxMQof/78ev/99zVp0qQUAUK6HkyGDBmiN954wxWy8uTJo1atWql3796usJSQkKBOnTpp7dq1WrFihXr16qVRo0a5tnDExMSoS5cueu6559SmTZsU4zidTuXOndt1/5133tGcOXMUEhKiYsWKpZg/V65cKlasWLLAIF3fna1KlSpp7kObNm00c+ZMSdd3o3M4HCkC4JkzZyRJZ8+eVd68eVP0x+FwqEKFCurXr1+ycDlnzhz16dNHf/31V4pxk7bmVaxYUUeOHEkR5pxOp1566SWVKVNGXbt2TTatYsWKGj58uHr16qWgoCB17tw52fTmzZvr119/da1HwYIFlZiYqO+//97SawQAciqCFADkAPny5VO+fPk0aNAgnT17NsX0nj176r777kv2WN26dfXWW2/p+eeflyTt2rVL69atS/GFXJK2bNmiS5cu6bnnnnM9lnSs0ubNm13H6bRq1UqrV6/WihUr5HQ6tXjxYm3YsEFLlixR4cKF1bp1a3l7e2v8+PGprseUKVNc///ZZ5/pp59+kiQ1a9YsxbxNmjTR0qVLtX79+hTTkoLC4cOHUw2GN3rggQdc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UPv27TVx4kQ5nU6tWbNG33//vSIjI3X69Gnt27dPRYsWVYkSJZJ9tvE5Rw/SIulLbU79XE+P9evXyxijunXrysvLS15eXnI4HDLGyMvLi8+1VNjtdrVu3Vp9+/bVo48+Kkl64YUXdPz4cW3cuFHr16+XzWZTtWrV1K5dO/34448qU6ZMjv7OsX//fvXu3VuPP/64evXqpTNnzmjcuHHq16+fXn75ZU2aNEne3t568MEHtWLFCnl5ealDhw6uMPVP+uzLma+ALLBu3Tp98skneuWVV7Rs2TI5HA7lyZNHklS7dm0lJCTIz89PXl5estlsOn78uH788Ue99tpr2r17t5urd58//vhDP//8s55//nnNnDlTx44d05QpU/TYY48pODhY3bt318yZMxUQEKC//vpLs2bN0qRJkxQVFZVjP9Cio6P1wgsv6PHHH9f8+fN15MgRvfzyyypWrJi6deumSZMmae3atXrxxRdVv359DRs2TN99953Cw8P13nvvKSoqyt2rkOWmT5+uwYMHa/LkyZozZ44ee+wxhYSE6MKFC8l+NXv77bf14osv6quvvpLD4XBz1dlD0peHXbt2qX379ho1apQeffRRNW7cWKNGjVKnTp3Up08fTZw4UQEBAdqzZ49Wrlwpm82mdevW5cgzX23btk27du3S5s2bFRcXJ7vdnuN6YJUxRm+88YbCwsLUqFEjdevWTVOmTNHFixfdXVq2dvbsWfXq1UuffvqpfvzxR0lK9mOtxOfa3127dk1ly5bV22+/rT179uj9999X5cqVXcdE2Ww2bdy4UWFhYXrsscfUoUMHHT58OEdvmbrnnnvUuHFjHTp0SP369VONGjXUtWtX9e7dW5L06KOP6r777lP79u1dYWrq1KmS9I/77GOL1B3y+OOPKzExUeHh4erUqZMqVaqkUqVK6amnnlK+fPl06dIlTZs2TR4eHjp48KC+/fZbXb16VaVLl1bx4sXdXb7b5M6dWz///LNq166tF198UWPHjtWZM2e0fv16bdy4UfXq1dOMGTO0bt06vfHGG3I4HPrpp58kSb169frHvUHTIi4uTq1bt9bzzz+v3bt3y263a968eRo9erTmz5+vYsWK6auvvtLkyZPVvXt3lSpVShs2bJB0/Sw7vr6+GjlyZI4JojNmzNCHH36oadOmqVatWtq1a5f279+vwYMH65577pF0/YM+KTA0btxYX375pTw9Pd1cefbg4eGhQ4cO6YknntDUqVNVokQJlSxZUvny5dOff/4pX19fvfLKK/ryyy/l6+urnj17qkWLFnr11Ve1cuVK/frrrypRooS7VyPLREdHa9GiRYqIiNCFCxdUokQJnT17VuPGjVOZMmWUK1cud5eYLdlsNn388ceKi4vT8ePHFRsbqy+++EJ//fWXypUrp44dO7q7xGzF4XBoyZIlio6O1oQJE7Rq1SoNGjRI06dPV2RkpKpWraqPPvpIhQsXls1m43PtBnnz5tXYsWP12Wef6aGHHlKZMmVch19cvXpVNWvWVP78+ZU3b1599NFHGjRokMLCwrRkyRIVKlTIzdVnPWOM7rnnHvXs2VNDhgzRZ599ppYtW6pBgwaKioqSn5+fChYsqLVr10q6vltpQkKC5s+fr0ceeUSlS5d27wpkNoM7bteuXWbevHnmqaeeMg0aNDB58+Y1NpvNVKlSxRQvXtw0aNDADB061KxYscLdpWYLCxcuNJ06dTLx8fEmNDTUvP/++8bPz89s2bLF9O/f39SvX98MHTrU7Nixw4wYMcJUrVrV/PXXX+4u2y2cTmey++PGjTNly5Y1n332mTl16pT57rvvTHBwsImOjjbGGPPYY4+ZRo0amYsXL5r169ebevXqmR07drijdLf49ddfjc1mMwsXLjTGGBMREWHKlStnvvrqK2OMMdeuXTPPPPNMitdTSEiImTdvXpbXmx05nU7z+eefm0ceecQMGDDAVKxY0ezdu9d06NDB9O/f33z44YfmiSeeML6+vmb27NnGGGOeeeYZU6pUKfPnn3+6t3g3stvtxhhj4uLizKhRo0y7du3Mjz/+6HpvIrm/f7YZY8z58+fNnDlzTN++fc2sWbPcUFX2c2Of9u3bZ/z9/c1vv/3meqxHjx4mV65cZs6cOcYYYxITE13TmjZtmuM/1xwOh+v/n3rqKVOoUCFz//33m9GjR5tBgwaZyZMnG2OMadCggYmIiDDGXP9O17BhQ/P777+7pebsYvfu3SZ//vymSpUq5v777zdt27Y1lStXNj/++KM5duyYKVOmjDl27Jgx5vrf3lq1apnt27e7uerMxxapDDL/v6+nMUZXr17VmDFj9PzzzydL3FWqVFGVKlUUGhoqSdq0aZM6duyojz/+WE2aNJGPj4+8vb1TPGdOMXfuXD300EMqUqSIbDabnnrqKTVr1kxOp1MVK1bU4cOHJUmfffaZTpw4oaeeekpPPvmk5s+fr1WrVumXX37JcVfSTvL318mxY8cUEhKiHj16aPLkyfr222+1bNky/fnnnypatKj8/f31559/qnr16goICNCsWbNUoUIFN1Wf9WrWrKlKlSopPDxcvr6+euONNzR8+HC1adNG0vVjMk6dOpViK8GDDz6omJgYd5Sc7dhsNrVr106S9OWXX+r555/Xfffdp8KFC+vRRx/V4sWL5ePjo08++URTpkzR0qVLtX//fi1atMh1SvScLHfu3Ordu7fmzZunRYsWuU5LndM+928ltWNPzP//Ch4cHKyYmBhFRETomWeeyfFbVKKjo+Xv7685c+aoQYMGGjp0qJYvX65HHnlECxcu1NSpU1WyZEnNnj3b1a9r164pV65cevDBB3XlyhV3r4JbJZ1NbsKECYqJidHUqVPVvn17jRs3TlWqVFGLFi10+vRpxcTEuHaDPH/+vLy9vXPc8WVXrlyRl5eX6+/jrFmz9NVXX+nJJ59UiRIl5OPjoypVqqh27doqWbKk/Pz8XCc7cTgcat68ue6//353rsKd4c4U908RFxdnZs6cafr162cefvhhc/78+RTzOBwO1y9HmzdvNlWqVDGXL182xiT/hSineeONN0zRokVNTEyMMcaY8PBwc/LkSdf0iIgIExISYgYPHmz8/PzMs88+a/bu3WuGDx9uGjdubPbt2+eu0rOlefPmmT179pjvv//eFC5c2Hz66adm5MiRply5cubhhx82PXv2NL/88ov56KOPzLZt29xdbpa5dOmSOX78uDlz5oy5ePGiefTRR03evHnNmDFjjDHGdOnSxUycONHMnz/f1KpVy8TGxhpjjNm0aZNZtGiRWbRokRk+fLg7V8FtoqKizPfff2/OnDljnE6n6xfcCxcumB49epguXbqY2NhYs3v3btOoUSMTGBho2rZta4wxJiwszJQrV87s3LnTnavgFg6HwyQkJKR4/MYtCN98842pU6eOuXjxYlaWli0lJiaa/v37mz179qSYlvSaS+rd6dOnTe3atc1PP/2UpTVmNxs3bjRvv/22WbhwoXnxxRfNDz/8YFatWmUef/xx88svv5g8efK4traXLVvWvPrqq8mWnzZtWo78XLt27ZqZNGmSa8+EmJgYc+HCBdf0J5980lSrVs1UrVrVbN682RhjTMWKFV2fY9HR0TnuPbtv3z7TqlUrs2bNGvPHH3+YNWvWuN6PiYmJpkWLFqZVq1amb9++5osvvjBRUVEmLCwsWV+TpLa1+W6WMw6KuAOuXbum5cuX648//tDLL7+s8+fPKzExUcOGDdM999zj+uUi6UBEDw8P16+Nhw8fVu7cueV0OuVwOHLsL2q9evXSihUrtG3bNuXLl08zZ85Uy5YtXadKttvtmjBhgu677z4NGjRI3333nVauXKkBAwZozZo1mjBhgipWrOjmtXAPu90u6X+vL6fTqcTERIWGhur48eP69NNP9eqrr2rMmDHasGGD1q1bpxYtWmjp0qUKCQnRe++9p5o1a7pzFbLMli1b1LRpU9WrV09fffWVChYsqLlz56pWrVo6evSojhw5ohIlSmjBggUaPXq0XnrpJeXJk0fGGP3+++/69NNPVbt27Rx7VfsTJ07oxRdf1JYtW2Sz2Vy/4AYEBOjNN9/UjBkztHHjRv3nP/+Rl5eXNm/erKCgIN1///3auXOn5s2bp6pVq7p7NbKUw+HQzJkztWrVKhljkh2QfuPJTDp16qR69erpt99+c1ep2ca1a9dUvHhxtW7dWqNGjdKsWbMUHx+vxMRE19bgpN4VLVpUnTt3du2tYP6Bp1S+laT19fPzU3R0tE6cOKECBQpo7dq1euyxx5QrVy59+OGHCg4OVmRkpKKjo/X7779r7dq1euedd1zP8+yzz+aoz7X4+HgtX75cEydO1OTJk7Vo0SI99thjGj58uAICApSYmCjp+jUsGzdurLfeeksvv/yyDh06pPXr16tq1apyOp3Knz+/ChYs6Oa1yRpJZ/sdOXKkcuXKpaFDh7pOC5/0ndbT01MPPvigYmNjVaFCBf3++++aPXu2fvrpJwUEBLi+ryT5p215J0il0+DBg9WlSxdt3bpVdrtd99xzj3bs2CEfHx8dOHBAmzZtkiRFRkYmW+7q1auaPn26mjdvrvz58+foEDVnzhytWbNGxYoV08yZM/Xmm2/qhx9+0IMPPihjjLy9vTVgwACNHTtWkvSvf/1LY8eO1erVqzVy5MgcF6IuXbqk+Ph4SXLtCmqz2bR+/XqNHz9ePXv21JUrVxQYGKjffvtNw4YNU4ECBfTwww+rSJEiCgwM1JUrV3LcWa9q166tCRMm6Oeff1afPn0kSQULFtSPP/6ohQsX6pNPPlGvXr302GOP6fjx49q1a5ek672dOnWqypYtm+MOKL7xi2m1atXUo0cPbdy40RUKbDabYmNjVa5cOYWEhGjbtm1at26dcuXKpdKlS6tQoUKKi4vT7Nmzc9TufJcuXZJ0/YvF4sWLNXz4cFf4THpdSf87mUmSzZs3Z3Wp2UpMTIw6d+6sqlWr6vvvv5fT6dSnn36qxo0bq2bNmlqxYoXrNZn0Jczb21s7d+50Z9luk3SJFR8fH9WpU0cREREqXbq0jh8/rmHDhsnLy0tffPGFfvzxR+3Zs0eff/65ihQpovHjx2vhwoXat2+fJLmul5RTTJ06Va+88oq2bdumFStW6K+//tKhQ4fUsGFDSf/rR6NGjbRt2zY1b95c7du3V+vWrbV3715JyjEnZUry7bff6t///rfKly+v8ePH6/Dhw0pMTFSVKlVcp9WXpOrVq6tgwYJq3769HnvsMS1fvlwff/yxJCU7dOWfKGe9izKBw+GQh4eHTp06pblz5+rIkSOy2+367rvvVKFCBc2aNUv79+9X586dNXToUP3yyy9av369a5/SK1euaMeOHXr55ZfduyJulBSifv/9dxUtWlQzZ85Ut27dNHXqVDVt2lTGGCUmJsrb21v33nuvpP99sXvuuefUrFkzBQQEuHMV3OKVV17R1q1bVaFCBXl7eyshIUEeHh7auHGj/vWvf6lMmTLKmzeva0vThQsXFB8fr++++05Lly6V0+nUr7/+mqP26zb/f9xJzZo1lZiYqNOnT+vIkSNKTExUjRo1tHr1alWpUkUlS5bUgAEDJF2/dMGYMWO0cuVKVapUSd98802y5/qnS0xM1IwZM+Tv768WLVpIuh6mPv/8cw0ePFgeHh4aPXq0/Pz89MYbb2jEiBEqXbq0XnjhBb344ou677775OnpqdmzZ6tSpUpuXpusEx4erm+//VZvv/22atasqaefflqffvqpJGnmzJlq166d9u3b5zomMekL2UMPPZSjL3khXT97aNOmTTV8+HDNmDFD77zzjl555RXVqVNHPj4+at26taTkx05dvnzZ9cU3J7wvkyT14OrVq5o8ebIiIyN19epVLV26VNHR0SpatKiCg4N17tw52e12DRkyRE2aNFHTpk114MAB1a5dW/nz53f3amS5hIQE7d27V1WqVFFiYqK6deumK1euqFmzZjp58qQOHDjgem/mzZtX999/v4oUKaLevXsrKipKb775pn7//Xf5+vrmiNebMUZ79uxRbGysmjZtql27dqlBgwZq06aNbDabVq9eLU9PT9cP2o0aNdKRI0eUN29etWnTRufOnZOfn5+b1yJrEKQs8vT0lN1uV0JCgpYvX64hQ4Yod+7cmjVrlnx8fPTOO+/Iy8tLv/32mw4fPqwff/xR0dHR8vHxkYeHh2bNmqXAwEA1b97c3aviFt27d9fixYtdIWrWrFl68803NW3aNIWEhLh+Zfv7Lxg3fonNiSFKun5dhvz586tv3746ffq08ubNK6fTqVGjRmnKlCmu+ZLCfr58+VSjRg2VLVtW+/bt08iRI3Xfffe5bwXcIOk143Q6tWTJEv33v//Vtm3bZLfbtX79epUoUUIzZ85Unz599Mgjj+jVV19VYmKipkyZovLly+v77793LZ9Tfok8d+6cIiIitGXLFq1Zs8Z1PbzZs2dr0aJF2rRpkz777DPt2LFDklSqVClJUuHChRUSEqJx48bp119/zVEhSrr+w8XJkyc1Y8YM5c6dW2XKlNHrr7+uOXPm6O2339bixYtTnNjF6XTqwoUL//hfbFOTmJioq1ev6sSJE4qIiNBjjz2mRYsWKSEhQZLUsmVLPfDAA/rjjz80fPhwDRgwwLVbqc1m03PPPefa2plTfuSQ/hfAz507pxEjRig6OlqjR4/W+fPnNXPmTE2dOlU1atTQDz/8oO3bt+u1117TAw88oHvuuUc1a9ZUUFCQihUr5ua1yBpJrwu73a7JkyfL6XTq66+/1muvvaZt27ZpwIABCggI0I4dOxQYGKgKFSooJiZGdevWVcWKFV0XNB44cKDeeeedHHGpgqS/dUl7u4SGhuqRRx5RvXr1VKBAARUoUEDXrl3T9u3bXe+/U6dO6bHHHnPt8eHv768ePXq4gtQ//f1pMzlt5+IMcjqdGj16tPbs2aMSJUpow4YN8vf3V548eRQTEyMvLy+VKFFC5cuXl7+/v86cOaPjx49r3Lhxio2Nlbe3tzw8POTl5fWPf3H93YQJEzRq1CitW7dORYsW1eLFi/X8889rzJgxeumll3T06FF9/PHHOnfunO677z4FBQUpMTFRPXr0cHfp2cKsWbM0fvx4rVy50vVY/fr11ahRI/Xv31/9+/fXSy+9pHr16rmmr1u3TnXr1pUxxnX2nJzk2LFjuueee+Tn5ye73a7o6GjlypVLsbGxCgwM1Pr161WuXDn1799fpUqV0ocffqgrV67o/PnzrjNv5qQQleTYsWPatGmTunbtqocffljffPONRowYoZ9++klOp1OrV69W+fLlk32G7d+/X506ddL48eNVo0YNN6+Be8yfP1/ffPONSpcurU8++URr1qzRc889p19++UWPPPKIq18XL150/SB09epVXbt2LccccyFdf0+9+uqrqlatmooVK6aPPvpIv/32m8aNG6e9e/fq4sWLOnr0qPbv369du3YpLCxM3bp105tvvilJOfLY4tWrVytXrlyqV6+e+vTpo61bt2rJkiVyOBwaM2aMGjZsqIiICPXv31/Dhw9X+fLl9dRTT0m6vkX522+/VZ06dVzPl5O+f+zfv18lS5aUt7e3PvjgA61evVq1atXS1q1bVahQIT322GNq0aKFevXqpTJlyujf//63EhMTc9z3tKR1jY2N1dixY/Xee+/p0KFDateunRo1aqTLly/rjz/+UGBgoF577TUVKlRIYWFh6t27t3r37q2TJ0+muEZgTuhfzvp2kAmSTiLx6KOPKiIiQpUrV9bIkSN15coVffPNN7r//vsVFxenFStWqFu3boqKilKDBg308MMP69tvv5WPj0+O3B1Bun7q6S1btqho0aKaMWOGXnjhBeXKlct1gGfu3LkVHByscuXKaevWrfr3v/+t5cuX68CBA26u3L2Sfuu48YtWYmKiatasqYYNG2rgwIF64oknFBERoY8//th1fJ50PWh5e3vnqBCVtN/2hQsXNHr0aP32229yOp3y9vZWYGCg8ubNqyJFiujYsWPq0KGDDh48qBYtWmj8+PE6c+aM8ubN6wpRxpgcFaKuXr0qp9Ope++9V2FhYdq3b59atGihQoUKKTExUfny5dPmzZtVvnx5JSYmymaz6erVq0pISFDFihU1b968HBmiTpw4IUkKDQ3VO++8o/Pnz6tVq1Z65plnVLNmTT3yyCOSrr82o6OjNWzYMA0dOlTS9c+9nBSipOtbVZ577jmtWrVKfn5+at68uebMmaMWLVpow4YNqly5smrWrKnJkyeratWq+uKLLzR9+nT9+OOPkpTjQtS5c+c0f/58ffnll2rXrp1mzZqlmTNnytfXV3ny5FHv3r1Vs2ZNNWrU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6ZNi2nPPPWfy589vbDabmTRpkjHGmNatW5sGDRqYgwcPmuXLl5uWLVuavHnzmk2bNmV16W5x48XV33jjDXPkyBFjzPXX0oULF0yNGjXMPffcY4KDg03r1q3Nvn37TM2aNc3nn39ujDHm22+/NaVKlTItWrRI8Zw5CUEqFbGxscYYY06dOmVq1qxpnnzySRMUFGTOnj2bYt5OnTqZRx55xHTs2NH861//Mr169TKhoaHmnXfeMe+9955rvpzy4rp06ZIpWbKkqVOnjqlfv76Jj483xhizYsUK8/3337vms9vtJiEhwRhjTJs2bcy8efPMU089ZcLCwlzz5IQvGDdyOBzml19+MRMnTjQzZswwYWFhyYJow4YNzbvvvmvsdrtp0KCBeemll1zTnnzySdO+fXs3VJ09JH1Rs9vt5vPPPzc2m80UKFDA1KtXz9x3331myJAh5pNPPjFdunQxwcHBplu3bsYYY44dO2YGDRrkxsrdIyYmxlSvXt28+eabyR5Per8aY0zv3r1NsWLFzF9//WUWLlxoHnnkEde0G9+bOeV9evz48WSf4z/88IO5evWq6/60adNMwYIFza+//mqMMeann34yjRs3NidOnDDx8fFm1apVpnXr1qZTp06uZXLC34XLly+bzz//3Fy6dMkcPHjQFClSxMybN88YY8yRI0fMmDFjzJ49e0yLFi1MpUqVzLx588xff/1ljLnew6ZNm7qz/CyX9H5KSEgw48aNM/369TM7d+404eHh5o033jDvvvuu2bZt2y2XNSZ5eM0J79GbfabZ7XbjdDrNs88+a9577z1z7NgxU6ZMGTNt2jQzceJE43A4TFRUlOnVq5cpV66c+fPPP920Blkr6fURExNjKlWqZF5//fUU83z55Zdm4cKF5sSJE2bgwIFmwYIFZsuWLebatWtmwYIFJjg4OMd9nqUmZ+6LcQvHjx9XmzZtNGbMGBUrVkzlypVzXXumcOHCOnnypOv0rDt37tT+/fv18ccfq0GDBoqPj1f16tUVGRmpgIAAffTRR5Jyzlm/zpw5oypVqqh169b68ccfFRsbKx8fH82bN08tWrTQiy++qK+//lrS9YOFk3ZZK1WqlJ599lnlyZNHP/30kyS5LvqZU1y6dEm9evVS8eLFVapUKfXs2VMtW7Z0HRN17do1jRgxQv3799eJEydUvXp1FSlSRNu3b1fLli0VEBCg6dOnS8o5u48mrWfSGbx27NihcuXKqVKlSpo8ebLi4+P19ttv66OPPlJUVJQ2b96sK1eu6N5771WrVq0kXd+dbfDgwZJyzu4IV65cUePGjVWhQgV9/vnnkqQPPvhAZ8+elY+Pj5xOp37//XctWrRI4eHhKleunCIjIxUbG5tid9O///8/ld1uV//+/TVs2DBJ0sSJE9W1a1fX6ZCvXbumVatW6b///a9CQkIkSQ8++KAOHTqkiIgI+fj46LHHHtOMGTNc1yXLKX8XVq5cqVOnTumtt97SI488ov79+ys0NFTGGJUqVUpdu3ZVpUqVVK1aNV25ckU//vijwsPDFR0drbJly6pevXpKTEzMMZ9rSRfbHT9+vFasWKG8efOqfPnyatiwoV566SVFR0frl19+cV1+4O/LJrnxhBz/9PforT7TvLy8ZLPZ9P3336tVq1b64YcfVKdOHa1cuVJVq1ZVt27d9Pbbb+vYsWNauHChqlev7ua1ufOcTqc8PT11+fJlPfzww2revLkmTpyYYr4uXbqoQIECatiwoT7//HMNGjRICxcuVN26dTVnzhw1bdo0x32epcrdSS67SUxMNPPnzzfjx483r7/+ugkMDHTtWjBv3jzz0EMPuXZzuXTpkjl9+rQ5fPiw+f77782AAQNMjRo1TM+ePV3PlxN+CUry5ptvmmeeecYYY8zq1avN66+/btasWWMCAgJMz549zZEjR0yePHnMzJkzky33wQcfmBo1apgTJ04YY3Lmrxp2u928+OKL5plnnjFBQUGuTefDhg1zbW6/0bZt28x7771nKlasaB599FHX4zmhdzt27HD9f9L6btu2zRQsWNDUrl3bvPjii+bs2bPmgw8+MIULFzZ79uxxV6nZTkxMjKlWrZp58sknzfjx401MTIx59dVXjc1mM/fdd5+5fPmyMcaYs2fPmkuXLrmWW7FihalVq5ax2+233LXtnyjpM3zjxo0mLCzMtG/f3lSrVs2UL1/e/PHHH675rl27Zoy5/jckqUctW7Y0kydPNsYkf2/mpL8LxhizfPlyU6hQITNlyhTXY0n9SPrvzJkzzauvvmrWrVtn2rRpY8aOHWvOnDnj6us/3Y2fa//9739N9+7dTcuWLU3nzp2NMdd3bZw0aZJZs2aN6dSpkxk2bJg5fvy4u8rNNtL6mWbM9a3Kzz//vGnWrJmx2WymU6dOpkuXLmbLli3J9v74J7txS9QDDzxgmjVrlmz64cOHk+1Ce+7cObN8+XIzcuRI88ADD5ivv/7aLF26NFlfc9rn2d8RpP7foUOHkt1/9dVXzQMPPGBWr15thg4daurXr29KlixpVq9e7Zr/hx9+SLZ8+fLlk20ezQlfao3537E8N/ruu+9MkSJFTKFChczXX39tHn30UbNkyRLz448/mrJly5pFixYlmz+13SZziqTdqSIiIoyfn5959NFHzdKlS01iYqJ56623TO3atVN86TDGmF27dplXX33VtT94TvmCO2jQILN48WLX/T179hgPDw8zevRoc/ToUdO4cWOza9cuY8z1Y6buuece164wiYmJxuFw5MgP/suXL5tKlSq5jolq2bKlKV68uKlXr55Zv369eeKJJ0zRokWTfaFI6tXMmTNNlSpV3FW62yW97/r372+qV69ujDFm/vz5pnXr1iYiIiLVZaKiokyZMmWS7dKc05w/f96cPHnSFC9e3IwYMcL1eGp/G7dv3+76UWjRokXm2WefzVHHet74ubZlyxazd+9ec/z4cVO1alXTpUsXExgYaIoWLWq+++47s2zZMvPkk0+6gmlO+a7xd2n5TCtWrJiJjIxM9pnvcDhMWFiY69jsnCQxMdFcuHDBlC9f3jzwwAOmRYsW5tSpU8aY67sr58uXz0yYMCHFa+rIkSMmKCjItdttkpz4t/Tvcuh2uOROnz6ttm3b6rnnnpN0fZc9Ly8vLV68WI0aNVKBAgV04MABlSlTRo0aNdKlS5fUoEED7d+/3/UcNptNHTp0cG0ezSmbORMTE/XWW2/pq6++kiTFxsZKknbv3q0LFy4oMDBQvr6+atWqlRYtWqSQkBD16NFDw4YNc51ZR5IKFy7slvrdzel0ysfHR9u3b1eLFi300Ucf6bXXXtPs2bP14Ycfqn379nrkkUe0detWScl3P6tSpYq6du2qvn37SvrnX1slad1PnDihY8eOuR7funWrxo8fr169eunee+9VYGCg3n//fUnSiBEj9MYbb6hx48b6888/5enp6bpqe07Tt29f+fj46J133pEk5c+fX0FBQRoxYoTsdruCgoJS7FKb1KuLFy/Kbre7TrecE2zcuFGzZ8/WuXPnNGDAAG3fvl2dOnXS1atXdf78eQUHB+uJJ57QggULFB0dnWL5K1euyGazqXz58m6o3v2WLl2qSZMmafr06fLz81OlSpV0/vx5SUr1cgT333+/Zs2aJUlq1qyZvv322xxxOv0bP9eOHj0qSapVq5bKli2roKAgNW/eXFOmTNHYsWO1c+dOjRs3TmfOnFHbtm3Vo0cPHThwIEd810hNWj7THA6HbDZbss81Y4z279+vPXv2uO7nBL/88os++OADLVq0SI888oj++OMPFS1aVG3bttXPP/+s1157Tc8995y+/vpr1xn4kg5lKVWqlMqVK6fLly8ne86c+Lf077xuP8s/X5EiRTRnzhzt2bNHw4YN0+LFizVv3jwFBARo6dKlmjhxooYNG6azZ8+qefPmOnDggAYOHKguXbpIuv4mLF26tIYMGSIp54Qo6fqxPZUrV9bq1av1559/qkiRIurTp488PDz03XffKSYmRocPH1br1q3VvHlzde7cWR07dtQff/yhlStXqkGDBu5eBbeJj4+Xr6+vzp49q2effVYtWrRQjx495HA4FBkZKS8vL7300kuy2+0qUaKE6tSpo7Vr1+qvv/5Sp06dJF2/yHFOkfSB/cwzz2jDhg2ux5N+AEl6373wwgv68ssvJV1/b3700Ue6evWq3nnnHc2ePVu5c+fO+uLdKD4+XsYY1alTR97e3po4caIqV66sq1evqmjRojpy5IjWrVunVatWacGCBfLx8VG7du1UpkwZ1apVS2FhYSpevLi6deuWYz7XpOun6H7ppZdUsGBBlShRQo0aNdKmTZv05ptv6tFHH9XQoUOVO3duHTp0SDExMSpQoICk/70Ov/rqK/n6+qpevXpuXpOst3btWs2aNUsNGjTQCy+8oJIlS+rrr7/W+fPn9cwzz7iO/UyS9N4uVKiQjDGy2Ww55n2a2ueaw+GQt7e3JLmu//TDDz+oUqVKWrRokapVq6aPP/5YTZs21U8//aT+/fvnqPdmRj7THnjgAbVt21YdOnTQgw8+KCnnhAGn06kvvvhChw4d0vPPPy9J+vrrr/XQQw+pQ4cOmjt3rpo1a6axY8eqffv2Wrp0qerWrauEhAT5+PjozTff1AMPPODelciGcs47LxWxsbEyxsjDw0PFixfXunXrNGXKFOXLl8/1y9D58+f1n//8R507d1atWrW0YcMG5c6dW6+//rqk62n972/CnPSBFhgYqKefflpFixbVb7/9piNHjihPnjwaOnSo2rdvr6CgIE2dOlVVq1ZVzZo1FR4errx58+r48eOKiorKMb8E3cjpdGrevHl69dVXtWTJEl26dElPPPGESpQood9//11NmzbVwIEDVbp0aY0aNUrS9auzz549W2fOnFHnzp3122+/uXkt3Mff31/h4eG6ePGipP+ddCLpfVepUiVt3bpV+/btcy2zY8cO5cuXL8d8OUty+vRptWrVSlWrVtWuXbvUqFEjHTp0SPv379dTTz2l+++/X3369NHq1asVHBysDz74QLt379ajjz6qq1evav369ZKuX4/l7bffzlGfbaVKldJ9992ndu3a6eeff9aECRPUsGFDHTx4UFeuXNGyZcu0adMmTZ8+XYMHD1ZcXJx27dql1atXKzY2Vj179lR4eLiknPOLtyT9+uuvmjx5ss6cOaPatWvLZrOpbdu26tKli2bPnq358+cnu1D73yX9Pc0pX26T3Pi55unp6dr6GxMTo+DgYIWFhWn48OF66aWXlC9fPn3xxRc6ffq0Tpw4kaPelxn9TNu4caMkqWfPnipbtqyb1yZrtWzZUs2aNdOKFStcn0nTp0/X5s2b9eijj+rw4cNyOp3q0aOH3n77bdcF68PCwjR16lSFhYVJylmfZ2mS9XsTZg8HDhwwAwYMcO2D/fnnn5ugoCBz6tQp065dO9O2bVvzf+3deVxO6fsH8E+rFKWUpSaTQkmWEiVbi22yRfatsidL9hRj3yWyNmMipAlZRqLIqFCSXUlTlCJE0b4+1++Pfs/51jAzzHe+HuO53q9XL3qec073Oa9z7nOuc9/3dd++fZtCQ0NJJBLRixcvqFWrVjRv3jzy9PSkESNG0JMnTyS7ExIk7hdbWlpKCQkJ5OTkRM7OzjRu3DgaOHAgLV26lIiqx/G0b9+eiKrncViyZAkVFxeTmZnZH6ZwlQYxMTE0Y8YMGj58OBUXF9O9e/do6dKlpK+vTw4ODnTu3DkyNDSkW7duUUpKCqmqqlKzZs1ozJgxJCMjQ2fPnpX0LkiUp6cnTZw4kQoLC4modj/tFy9eULNmzYT+72/fvqWAgADKz89/b1lpEB0dTVeuXKE7d+4QUfX4EycnJ9qyZQv5+/vTwoUL6cWLF/Tq1Svy8PCgfv36CX3mxaTtmBER+fr6kpWVVa3PFi9eTFZWVnTjxg16/fo1xcTE0MCBA0lGRoYcHBxIQ0OD9PT0aNeuXRIqtWT99ttvtHTpUlq/fj3p6urSzz//TEREvXr1oqioKIqMjCRra2sKCQkhIukd2/NHfl+vEVVfe6mpqfTy5Uvy8/MjbW1tioqKEr4XJ2mSJpcvX+Y67W+aOXMmGRoa0o0bN+jt27c0Y8YMOnr0KEVERNCkSZPo119/FcZbL1q0iGRkZMjR0VHCpf6ySW0glZeXR40bN6YtW7ZQYWEhXbp0SZgT5MSJE9S0aVMyMDCgyZMnU0hICFlZWdGqVauIiOjevXs0bNgw8vHxkeAeSI745hcXF0fTp0+niIgICgoKotzcXDp//jy1bdtWyFx44cIFatasGRFVDwT9/vvviYikJhPT74krqN8/+IszQM6ePZuWLVtGjx8/ppMnT5KRkRG9evWKxo8fT2fOnKHy8nJKTk6WVPElTnzuPX/+nJYtW0be3t7CvG/iYxsbG0vdunWjuLg4iZXzS/TkyRMKDQ2lmJgYCg0NpSFDhtCuXbvo7du39ODBAwoMDKSMjAyaMWMGTZ8+XZjnTVr8/sEqPz+f2rVrR/PnzyciotDQUDIxMaHMzEw6ceIEnT9/noiqJ9EeOHAgnT9/nrKysmplO5QGJSUlQsKNiooKunHjBhFVT0JsaWlJlpaWZG5uTo0aNaK4uDg6ceIE6erq0qNHj4hIeh9oaxLXXR+q12rKyckhX19f2rZtm1RNtvtH5wjXaR9PfO989OgRycjI0IABA+jatWv07t07IqpO+OXi4iLMsUhE1LNnT3JxcXlvG6w26WkP/n9ZWVk4ffo06tati23btiE2Nhbr169HbGysMCeItra20LyupqaGoUOHwt/fH8uWLQNQ3Wd506ZNcHd3l+CeSI6srCwSExMxduxYWFhYoHfv3hg1ahTU1dXx+PFjZGVlITMzE8HBwWjatCl69OiBt2/f4u3bt0KfZHH/b2kinrshLi4Oc+bMAQCcOXMGnTp1wsyZM1FVVYXZs2cjNzcXR48ehbKyMh4/fozS0lI8efIE8vLyUFBQgKGhoYT35POh6pc9wu/iLixNmjSBra0t8vLysGLFCuTn5wvJNiwtLYXjKo3Ky8uRnJxc67PCwkKcPXsWa9asQWVlJfr3748xY8Zg3759SE5Oxt27d7Fy5Uqoq6tDU1MTcXFxwpxR0kCcZKOkpETY7/r16yMqKgrnz59H7969sXLlSoSGhuLKlSsYPXo0pkyZgnPnzkFJSQmKiopQUVGBjo6OMFaKpKT7S1hYGM6fPw8AkJeXh7m5OQDgm2++QWZmJoqLi3Hjxg0EBASgf//+0NfXh4uLC6ZNm4bi4mKp68L35MkTFBYWAgBSU1MB/CdR0IfqtZo0NTUxYsQIDBs2DE2aNPm8BZcQ+v8xcwDg7u6Ow4cPAwAKCgoQFhbGddof+P28a+J7p46ODgwMDPD06VN4e3vj4cOHKC8vR6NGjbB06VJcvHgRy5cvh729PTQ0NODv7y9sT5q6kH4KqTsqz58/x6xZsxATEwNNTU2kp6fj0aNHcHJywpMnT1BeXg4TExOYmZlh8+bNiImJwerVq4WH17KyMsjKyqJ58+YApOdmWVpaKkyWm5qaiqFDh2LevHlwdnZGRUUFgOoJeR8/foyJEydi+PDhOHPmDB48eIBDhw5BVVUVMjIyQp9kabwgxQHouHHjhAHEV69ehYeHB9q0aYPVq1ejadOmaNWqFRITEyESiRAREQF5eXlkZWVBQ0NDwnvweRQUFCA9PR1AdVZIGRkZPHjwAL/++iuA/9xYe/TogTFjxkBRURG2trY4deoUwsPDUVxcjAYNGkjlOQYAfn5+mD9/vpBtSSQSoV69ehg6dCguX76Mzp07o1evXjAyMoKLiwtGjx4NU1NTYaC/s7MzDh06JLxY+tqJHxAKCgpgYmICHx8fANUD/hs0aIArV67g1atXMDY2xtOnT+Hl5YXS0lKcP38eU6dOxc2bNyEnJ4c3b97U2q60BAg5OTlCQFDz4a1FixZo1qwZFBQU4O7ujn79+mHWrFlCgqE6derg1atXEimzpFy+fBljx46Fl5cXpk6dii1btgjHTBzMf6heu3jxopAtrXHjxtDR0ZHkbnw2NYOo2bNn49ChQ8L5U79+fQwdOhSnTp2ClZUV12n/7927d7UyOd6+fRtA9bGsrKxEnTp10LVrV2zevBnffvstVq1ahVu3bqG4uBj6+vo4evQoVq9ejUaNGuHEiRMAOIj6S5JqCpOEpKQkKisroxcvXlBcXBz5+/tTu3btaMGCBRQWFkadO3emO3fuUG5uLnXr1o0uXbpEcXFxZG5uTsuWLZN08SVq1apVZGdnR5s3b6aWLVuSn58fEVV30bOzs6O4uDgqKSmhxMRESk1NpcLCQjp48CANGTKEoqOjiYhqTeAmLUpKSoQJiH/77Tdq1arVB8dP3L59mzw8PGjq1Klka2tLdnZ21Lx5c2EMX0pKilR0S6ioqKATJ06QoaGhMA7g2rVrJCcnRydPnvzD9QICAsjb25vMzMxoxIgRUjtGhYjo9OnT1KZNGyL6T5ehvLw8GjZsmDDn28qVK8nS0pKys7Np6NChtG7dOnJ0dKTXr19LrNySIO6qkpeXR506daJFixYJ32VkZAjH69GjR9S+fXuqU6cOaWtrE1H12BQFBQUaNmwYLV++XGq7K58+fVro/ihWVVVFpaWlNHjwYNqwYQOtXbuWHB0dSU1NjebOnUuOjo5kZmZWa6zP1y48PFyow8ePH0/m5uYUERHxp+tIc71Wszvf7NmzSVNT873xYDW7mnGdVv08tmvXLpoxYwYRES1dupRkZGTo+PHjtZYLCwsT5oOaM2cO9e/fn65fv05FRUXUsWNHGjVqlLAsd+f7a1ITSAUEBJCmpiatW7eOnj59SkFBQTR+/HjasWMHjR49mho3biw88GZmZgoTehJVJwZo3br1e5PISptx48aRqqpqrT6zHTp0oOnTp9daTnyzuH79OvXt25f279//OYv5RfmzANTW1pZiYmKEZRMSEmj58uUkLy9Pp0+fFm4GH5rw+GuWlpZGCxYsoEGDBpG/vz9pamrS1q1bP7js7yt5aX2YrSkiIoJatWolDFgvKiqidu3akb29vbBMUlISDR48mM6fP0/29vY0a9YsSRVXotLT06mkpITs7OzI09NT+HzGjBk0b968WtfekSNHaOrUqWRubk6ampqkra0t1QlzxB49ekQODg4fnFS9rKyMysvL6e7duzR79myys7Or9b20PKSVlZWRhYUFGRkZ0apVq8jc3JwSEhLIxsaGrl69SkREGzZsEO6d0l6v1QyiZs2a9V4QVVBQQE+fPq21Dtdp1U6ePEn6+vo0evRoat++PS1atIgsLCwoKSnpD9eZO3cufffdd/TLL7/UOm7Scn3+t6QikPr555/J0NCQdu3aRTNnzqQlS5bQsGHDKCcnh65fv046Ojrk6OhI+/bto1u3bpGBgQH9+OOPwvpVVVVSO8Bf/EY7IyODDAwMyNramqZOnUqHDx+mjh070vjx44mIKDg4mOzt7cnOzo569OhBOTk5lJycTDNmzJDq7IZEfx2Aio9xWVkZpaWlkZ6eHm3YsIEWLFhAp0+fFr7/2tW8eRYWFtK0adNIQUGh1gPun60nEolqbUNaBrEXFRXRxo0bhd/Pnj1LHTt2JKLq49i2bVsaN27ce+uNHTuWLC0t6e7du+Tt7U0lJSVSc8xEIhFlZ2eTnZ0d6erqkoqKCvn4+FDv3r3Jzc2NunbtSnFxcbXeZj948IAGDBhAQUFB5OvrSzIyMkT04QQy0kIkEtHr169p0qRJdPPmTSL64+Nx/fp12rBhA8XGxkpF67pYzYdRQ0NDUlNTo6CgIMrLyyMXFxfKzc2lqqoq6tmzJ507d+699aWtXvurIKqiooK0tbVpwoQJ7607btw46tSpk9TVaeJzrKysjIiIvv/+e6pTpw6lpaVRRUUFDR8+nPbs2UNEJLwcEolEwvJERKNGjaIdO3a8t0321776QOrYsWOkoKBAo0ePJiKiAwcOkJqaGg0fPpxSUlJo3LhxFB4eTg8fPqSJEyeSrq4urV+//g+3Jw0XpZj4Qnrw4AG1bNmS/P39iaj6bW39+vVp5syZwrJpaWl0/vx52rlzJ/n6+tL9+/eJiGqlcZUmnxqA2tjYkK2tLb19+5Z++uknysjIICLpOt9qunHjBqmrq5OFhQV5e3vTu3fv6MyZMxQVFUVxcXEUHh5e6yYgzZV+fHw8qaurC92rAgICqHfv3lRWVkZt27YlZ2dnYdmaQfnly5dpzJgx9PDhQ6k6fuJ9zc7OppYtW5KZmRmNHz+eUlJS6OnTp+Tv709jxowRls/KyhK6wWzfvp00NTWJqPo4s2o//vgjtWvXTqi3aqp5zmVnZ0tV60rN62rVqlXUpUsX8vDwoAkTJlDHjh1JRkaG+vXrR7NmzSIZGRl6+PBhrfWltf4nqu5y9vsgqqqqioyMjKh///7Csa3ZahweHk5TpkyRqjpNvJ85OTlkb29P9+/fp6ysLJo0aZLQ42XFihXUunVrevXqlVS9xPhc5CU9Rut/qbS0FCkpKdi+fTsKCwsxefJkXL9+HQsWLMCtW7fw6NEjrFmzBt9++y0yMzNx9epVGBgYQEVFBbm5udDQ0Kg12BGQngHEQHVyhPj4eLi4uMDd3R0uLi4AqhMkjB49GtOmTcP69evRoUMHWFlZQVlZGc+ePcPEiROFbaioqEiq+BIjzs6XmJiIIUOGwMvLCy4uLnBzc4OrqyucnJywY8cOAIC5uTnU1NSQmpqKyspKvHjxAhMnThQmY5SG8+3WrVtITEyEkZER2rVrh5SUFFhbW2Pjxo0wMjLC8uXLYW5ujlOnTuHatWsoLS1FaWkpPDw80KtXL7Rq1Qry8l91VfanOnXqhLCwMEyZMgUyMjLYvHkzcnJyYGlpiQcPHuDo0aPIzs6GpqamkJXu4MGDMDc3R2BgoKSL/1mJB02/e/cOEyZMQGpqKkaOHInKykqEh4ejU6dO8Pb2Ro8ePQAAmZmZaNeuHdavXw8DAwNMmDAB3377LZ4/f44JEybU2qY0Et8fJ0+ejIKCAjg6OmL9+vXQ1taGsbExgOoETcrKygAgNZnmgNrnxffff4+oqChcvXpVqNPPnj0LDw8P2NvbIycnB1paWnj+/DmMjIwAVCc7EWfzkzZjx45FREQE7t69C21tbQDVx8PExAR6enoIDQ0FUJ2hVFFREQDQvHlzWFpaIigo6L3ntq8VEQn1Wd++faGrqwsTExMA1c9vW7ZsQbdu3bBo0SJs3boVAwcORKNGjWBiYgIlJSWIRCKMHDkSrVu3rrVNaTh2/yiJhnGf0d69e6lp06Y0efJkun79OvXs2ZNyc3MpOTmZ4uPjqXXr1uTj40NXr16lOXPm0Jw5c6QyOUJNb9++JSMjI2G+rLKyMjIzMxO6qO3du5csLCzIzs6OqqqqKCAggFq1aiVMfCrNrl+/TsbGxrUGB7dv356mTp1K9+/fp3Xr1lFYWJgwf9RPP/0kwdJKTmFhIc2fP5/Mzc2pa9euFBAQQF5eXrR7925hmQEDBpCbmxtVVVVRZWUlvX37lkQiET19+pQsLS2l9tj9XnR0NLVp04Y8PDzIxMSEZs2aRTNmzKCBAwdSgwYNyMLCgjQ1NalJkyakpaVFhw4dknSRPyvx2/38/Hzq1KkTbdy4kby8vOjo0aP0888/k5GRETVv3pwUFRXp1KlT9PLlS7KwsKBt27ZJuORftpqtJocPHyZ3d3fq0aMHjR07lmxsbGj79u2Uk5MjwRJKlpeXF9nY2BAR0aRJk0heXp4yMzPp5MmTtHnzZsrNzaWOHTtS7969SVFRkaKiomjEiBFSW6+JRCJydnauNZxC3BLVr18/4bOaPRI6d+5M3bp1E+ZEkiY5OTmkq6tLhoaGtGHDBmEsVHx8PJmamtKVK1eIiKhfv340ZMgQOn36NI0bN46srKyoX79+tH37dkkW/6sgQ/R15+8WiUQoLCxE7969YW5ujuzsbLx79w4hISH45ZdfsHz5cowdOxZqampYuHAhAODQoUMoLy/HpEmTJFx6yXv+/Dm0tbVRWlqK9u3bw9LSEgEBASgrK8PTp0/RsmVLvHz5Eo0bN8a2bduwcuVKpKSkQEtLS9JFl5h3797B0tIS06ZNg7u7O8rLy9GlSxe0b98e/v7+8PPzw/79+1GvXj1ERETg8OHDWLt2LRISElC/fn1JF/+zE795TUxMFNLC1+Tn54eIiAiEhIQIb8vy8/PRpUsXaGlp4fLly5+/0F8Y8XGJjIzEgAEDoKuri5SUFOH7sLAwNGjQALm5uVBXV0eHDh1QVVUFVVVVCZb68ysvL4eDgwP09PSwe/duoT5LTEzEokWLsGfPHly5cgWDBw+Gu7s7HBwcMG/ePADS3fL0V6jGW+zS0lLk5uYiPT0dGRkZsLW1hZqamlSknv69uLg4jB07Fu7u7nj27BmeP38ONTU1JCcnw9XVFffu3cPp06dhaGiIn3/+Gb6+vnB3d8fo0aOlrrX4jxQXF6NNmzZo06bNB1uiOnfuDAUFBURHR0tlC97p06dx//59ODo64qeffkKjRo1QUVGBEydOwM/PDwYGBlBXV8eOHTtw9+5d7Nu3T9JF/vpINIz7TEQiEWVlZVF6ejppa2tT79696ciRI2RoaEj79+8nLy8v2rRpE6Wnp39wXVYtMDBQ+L+Xlxe1bdtWmJ1+586dVK9ePUpISJBU8b4oz549I6Lq9OetWrUSBsaWlpZSSkoKERG9ePGCiIh8fHyoQYMG9OrVK8kUVgJqJiD5/TV25coVunz5stCXOzo6mlq3bi2Mt3v79i2ZmJhQr169hHWkpT/8nykoKCBTU1Pq06cPtWvXjubNm0dERPfv36e+ffu+lzpYmojH5eTm5tKpU6eEz4cMGULr168nY2Njunz5MlVUVJCenh41atSIfH19heWk8T5QXl4u1O9EH38M+Fr8j9evX5O3tzf16NGDjI2NiYgoKCiIlixZQrGxsdS4cWMaOnQoDRw4kMLDw8nR0ZEmTZokrM/HksjX15dsbW2F32u2RHXq1ImsrKxqJVCQNsXFxcL/Hz16RIMGDSIVFRXauXMnEVUfr8rKStq5cyeZmZlRRUXFe+eVNB63f5JUvF6TkZGBjo4O6tati/DwcBQWFmLWrFnYvXs3nJ2doaGhgT179mDXrl149uzZe+tKO/r/RssxY8YgPT0d7u7umD17NrS0tDB37ly4ublh8eLFiIqKQseOHSVc2i+DuF+3kpISli9fjoCAAADA6tWr4ejoiJSUFDRu3Bi7du3CsmXLcPHiRalpxQsMDISLi4swYayMjIxwjgUHB6N79+6YP38+bt++DZFIhIqKCqiqqkJBQQGPHz+Gra0tdHR0cOHCBQDcUgBUv6Ht1q0bmjVrhvDwcPj7++P8+fPw9PSESCTCy5cvJV1EiXnw4IEwya66ujoGDx4MAAgNDUVSUhJu3ryJXbt2oWfPnkhOTkZ5eTmaN2+OevXqCduQtvtAVVUVduzYgcuXLyMtLQ3Axx8Dab8WxYgIDRs2hIuLC+zs7GBhYYH09HQYGhpCTk4OEydOhLq6OkJCQjBgwAA4ODhAVVVVaDHgeq2ak5MTIiIiAHy4JSoqKgry8vJSNbZHJBLVmvxa7OnTpzhz5gz69euHwsJCJCYm4uHDh4iNjYW8vDzq1q0LeXn5984raTlu/ytSdZU2atQIbdq0gYKCAmRlZXHo0CEEBwcjMDAQY8eOhZmZmdTMGP4pal5kenp6OH/+PH799VdERESgbt26iI2NRXR0NMzMzCRYyi8PB6DvCwkJwcSJE1FUVARFRUVkZmairKwMMjIyyM7OxunTpxEVFYXevXtjyZIluHv3Lr755hu0aNECR48exYwZM2BiYoLz588D4IcNMQUFBezevRunTp0CAHTo0AH79u3DmTNn0L17d2hpaUlt3ZaWloaMjIz3Ps/KyoKNjQ28vb1hbW2N9PR0TJkyBa6urpg9ezYiIiKktnvVs2fPkJubC0VFRaxZswbp6elCfUZf92iAv6WqqqrW7yKRSLhvqqurY8KECbh69Sqio6NhYGCAo0ePYtSoUejXrx8mTJiAU6dOYfTo0fD39xfW53qtmqqqKuTk5FBZWSn1QVRycjKA6pcVsrKyuH37NubNm4f8/HxUVVUJz2MbN27Eq1evcPbsWcycOROxsbF49+4d1NTUJLwHXynJNYZJTmBgIEVGRtLChQtJS0tLmCRVjJs5P0x8XGbMmEFOTk5EVN31IC8vT3KF+hcxNDSkn3/+mSorK8nR0ZFMTU2FuVekwfHjx6l169a0bNkyWrhwIT1+/Ji0tLRowIABwjLi7o5ERNOmTSMDAwNydXWljh070pIlS8jb21v4nru9fFjNdNORkZHUpEkTmjJlChFJZ912+fJlmjZt2nuf379/n+Lj44mI6OnTp9S5c2chsURRURE1a9aM1qxZ81nLKkk1z41NmzbR999/T48ePaJOnToJ6d//aHlp9fs5nq5du/bBZYiq05/36dOHxowZQ1paWkRE9OrVK9LU1BSuTyKu1z6k5jGR1u58GRkZZGVlRWvXrhU+8/Ly+uAcgUTVXeT79OlDJiYmRETk4eFBgwcPlpp5KT8nqQykas5jMWrUKNqyZQsRSc8F+d8KDg4mW1tbqc7E9Ck4ACU6cuQIGRgYkKenJx08eJAMDQ2pffv2dPHiRercubMwzxtR7evTwcGBdu7cSXfu3Kk1/wVfqx/n3bt35OfnJwQM0ighIYE6depEb968qTV5s1hGRgbp6urWyl4VFhZGHTp0oLi4uM9eXknz9fWlzp070/Pnz4mIKCYmhq5cuUIjR46k9PR0evPmDT/sE9HDhw/p8OHDwu8rV64kXV1dYS6o39dR165do2fPntGLFy/I1taWhgwZQoMGDRLuCUQcRP2ZyspKMjQ0pB49ekhdECWeGDw4OJgGDRokvFAcOXIkLVy4sNayNes4FxcXYazUvXv3as25xf45UhlIEXGF9d/iSd0+nbQGoL/88gs1b96cAgIC6OTJk1S3bl2SkZGhFStWUFZWFunr65OlpWWtSVDLysro7du31KpVKwoNDa21PWm5ef5TpP14FRQUkKurK718+ZKI6L03sklJSR9Mcf748eNaA9ulgY+PD3Xt2pW2bt1KU6dOpeXLl1N5eTnZ2NjQmjVr6M2bN9SrVy8hNbU0n1sRERGkoKBAmZmZtGTJElJRUSE1NTVauXKlsMzvW6zE8vLySEFBoVZLKT+T/LmwsDCysbGhkpISIpKec+/+/ftkb29P0dHRRER08uRJYRLnCRMmCPXa74/HzZs3SV9fnyIjIz97maXNV5/+/M9QjX61JCV9bJlkVVRUQEFBQdLF+Kx+/fVXNG3aFEZGRkhKSsLQoUPh5OSEEydOICMjA+np6QgNDcWoUaMwZMgQhISEAKi+Jrdv345u3brB3NxcwnvB/s0WLVqEO3fuCIPWKysrIS8v/96kp+KxLdJ4L7h+/To8PT2xcOFC9OvXD6WlpVBUVISjoyOaNm2K3bt3o0WLFnj16hUOHTokJO0ApHNMz7t37zBu3DikpqbizZs3uHPnDm7duoWtW7fiyJEjtSYfFh8f8b/Ozs4oKytDUFBQre/ZHxOJRKiqqoKCgoJUPa8lJSUhMDAQmZmZmD59OqysrHDq1Cn4+PggOzsbd+7cgbKysnAOZWVlISMjA8bGxkhPT4epqamkd+GrJ9WBFGPsf+fRo0d48+YNdHV1oauri/T0dNjb22PDhg1o2LAhhg4dCn19fZibm+PKlSuIiopCw4YNsXbtWnTp0gVGRkZQUVGBsrKypHeF/UvVfOBydXVFRkYGzpw5I5XzzfyV8vJyHD9+HHFxcXj06BGcnJxw+PBhyMrKoqCgAC9evMCKFSuQnZ2NwMBA/PDDD3j79i2sra2l9njOmjULu3btwqNHj9CyZUvExsZi0KBBGDJkCDp37gxzc3M0a9YMeXl5ePfuHRITE+Hg4ICUlBQhwRAHUexDatZdSUlJ+OWXX3Dv3j0sWLAAZmZmOHXqFLZt24aRI0fC1dVVWC8pKQmmpqaIiYlB586dJVV8qSIv6QIwxr4+IpEIQUFBuHDhAoqKihASEoLExETo6+vjwYMH2LNnDy5evIh9+/bB398fy5cvh6qqKjp16gRdXV3MmDED48ePx6JFiyS9K+xfTEZGRnhQ3bNnD6ZNm4ZBgwahR48eaNWqFZSVlVGvXj107NhRKieMBYCFCxciLy8PFRUVOHDgAEaOHImoqCg4OjrCy8sLU6dORdu2baGqqgpZWVns3r0bW7duxd69e5GQkICIiAipmbpBTHxOjRo1CvHx8dDR0UFVVRW6dOkCHR0dpKWlITw8HEB1y1V5eTmqqqrQpEkTyMrKYuzYsQCqH5Y5iGK/Jz6/KioqICcnB2NjYzRo0AD9+/fHmjVrMH/+fDg4OAAAfvjhBxQUFAj3yubNm8PAwAAVFRUS3APpwoEUY+wfJysri6VLl2L27NlISUmBgYEBDAwMUF5eDl9fX7i7u+PWrVuIiIjAmjVrcPToUVhbW+PQoUMYMGAAjIyMOIhi/4iaXar8/Pxw+vRpPHv2DD/++COKi4sxfPhwNGvWDLq6upIu6mdXVVWFtm3bQlNTEy9fvoSMjAzk5ORga2uLDRs24Ntvv4WVlRW8vb1x+/ZtTJkyBdHR0UhJSUFAQABiY2OlLogC/jNXVrNmzfDw4UPcv38fFhYWAKqnWTE1NcXp06dRVFSEx48f10rR3alTJ2E70tI9jX28Q4cO4YcffsD58+ehoqIifD5//nzIyMjAzMwMu3fvhqysrBBM7d+/H5s2bcKiRYvg4OCAVq1aoWvXrhLaA+nDgRRj7B8nEokgLy8PDQ0NWFpaCpOfzpkzByoqKjhw4ABiYmIQHh6Otm3bolWrVkhLS8OGDRtgZGSEkydPCtvhN7bsv1UzmBKP7ZkxY4aES/X51ewu9Pr1a2hqamLChAnC9yKRCAcPHoSzszPat28Pa2trlJeXQ0VFBcePH8fly5eRnp6OiRMn4urVq1Iz/92HVFZWonHjxmjevDmKioqEz42NjVFQUIB69eqhXr16aNy48XvrStMYH/bxAgMDsW7dOmhra+O7777DuXPnoKKigoEDByI/Px+3bt1CdnY29uzZgx07doCI4ODgACLCypUrsXXrVnTt2lUYZ8z3z8+DAynG2D9GPFhfVlYWJSUlqFu3Lu7evYuYmBjExsYiJiYGx44dQ506dSAvL4/nz5+jefPmaNu2LYYNGwZDQ0P8/PPPwrb4JsD+Kb8/l6TtYbbm/q5ZswaXLl3Crl270Lp1awDVrVNWVlZIS0vDrVu34OjoiKNHjyI+Ph79+/dHaGgosrOzMXXqVFy+fFnqEsCI6yNxohJ5eXkUFBSgbt26uHfvHqytrSErK4vy8nIUFxf/6bak6bxjHycmJgbjx49Hamoq9PX1MWXKFPTu3RvR0dEYM2YMRo0aBQBo2rQpnJ2dERISgq1bt0JZWRlDhgyBqakp4uPjMWLECAB8//ycONkEY+y/lpycDCMjI+H327dv44cffsCWLVtQXFyMtLQ06OjoYMeOHUhJSUFQUBCio6MRGBgIW1tbHD9+HFpaWti/fz8Avgmwj/ehgEjagqRPsWbNGpw5cwZqamoAgB07dsDQ0BAREREICwuDm5sblixZgoYNG8LPzw8AEBISguLiYmzevBkHDx5Ehw4dJLgHn5+4PkpMTMQvv/wCJycnaGtrQyQS4dmzZ1BXV0e9evUAAA4ODlBXVxfqMsY+VseOHdG+fXv4+/sDqB7v1KFDBxw+fBgqKiooKioSuvstWbIEISEhMDMzw4QJE2Bvby9sh++fnxcHUoyx/8rTp08xevRo9O/fH56engCApUuXIj09HYcPHwbwnwfbwsJCeHl5IT09HZMnT8bq1avRoUMHtGzZEgsXLgTANwH29+Tl5aGoqAjffPONpIvyRakZVAYEBGDq1KkoKysDAAwfPhy5ubnw9fVFmzZthHWuXbuGdevWQV1dHSKRCPXq1YOMjAzmzZuHVq1aSWQ/PiciQmlpKerWrYvy8nIoKirixo0bsLGxgYqKClavXo2RI0cKwSgAIZW+tbU1HBwc4O7uLrkdYP8aN27cQGFhIWxsbFBSUoKePXvC0NAQDRs2RHZ2NurXr48HDx7g0qVLUFZWRmVlJR4/foxt27bB0NAQaWlp0NfX5/NNgjiQYoz9bW/evEHDhg1x9OhRBAYGomfPnpg3bx5GjRqFZs2aYdOmTR9cz9HREQkJCVi/fj2srKygp6cHgFsS2J8LDg6GmpoavvnmG6iqqqKoqAh5eXkIDg5GZmYmNDQ0sGXLFjRo0EDSRf0i1Lyejh07BgMDA/Tv3x/Tp0/H8uXLAQB16tSBn58fnJ2dhZcYRISrV69iwoQJmDRpEpydnVG/fn2oqqpKcnc+CyJCYGAgVq1ahdu3b0NFRQWxsbFwcHDAxo0bUVZWBl9fX6xZswaDBw+u9dLn8ePHaNeuHQICAuDo6CjBvWBfOiJCbm4u1q1bh+LiYnTv3h0A8O233+L777/H9evXUVhYCACws7ODvLw8Tpw4ARUVFWzevBlXr17Fvn37IBKJ0KhRI0nuitTjMVKMsb/lwYMHWLx4MTw8PDBixAgoKirCz88P6enpqFOnDhYsWADgw8FRixYtYGhoiDFjxgifcRDF/gwR4ZdffkFCQgKMjY2Rm5uLly9fokOHDkhOTsa8efNgYmKCBg0acKvm/ysrK4OSkhKWLFmCwMBAPH36FBs3bsT8+fORm5uL5ORkLFq0CM7OzsI64uuwWbNmEIlEGDx4MHR0dCS3E5+ZjIwMevXqha1bt6JXr17YsWMHhgwZAg8PD+E4paamYu7cudDS0kK3bt0gfh998+ZNKCkpwcDAQIJ7wP4NZGRk0LBhQ8yfPx/e3t7YuXMnsrKycO7cOURGRqJz587CiwwrKys8fvwYffv2RUhICK5du4bevXtDU1NT2B7fPyWHAynG2N8iKyuLDh064Mcff4ScnJyQilU847p4zIC4gs/KykJqaiqsra2FLjFVVVWQlZWFjIwM3wTYn5KRkYG+vj6A6uxW4kH/J06cwC+//IIJEybg1atXQhcraX+wePz4MU6ePInnz59j7969yM/Px7p16yArK4vw8HAMGTIELi4uWLRoEezs7DBnzhwMGjQIRISqqiqoq6tjzJgxUFdXl/SufHZNmjTBrVu30K5dO1hZWcHHxwdubm4oKytDnTp1sHnzZrx79w7Dhg1DbGwsmjdvDpFIBFNTU7i5uUndGDL2aW7cuIEHDx7gyZMnGD58OHJycvD69WuYmZkJ98a4uDg4ODjAxcUFycnJUFRUxPTp0zF06FAcO3YM2tratbYpzXWdpHHXPsbY3/YpM64/fPgQpqamiIuLQ9OmTT+YFpixDxEHRQEBAYiMjMTBgwcBAEFBQZg2bRri4uJw79497N+/H1OnThW6VUlzMBUXFwcbGxt0794dVVVVSEtLg5mZGTZu3IisrCzY2NigsLAQgwcPhrKyMp48eQI/P79a88+IM29KE3Egfvv2bfTp0wcqKiro0KEDTp06BQCoqKiAgoICAGDkyJG4desWEhMToaioWGs70nzusT9WXFyM1atXIz8/H1paWhg5ciTWrl2L9u3bo27dukhJScHFixfRrFkz/PDDD/Dy8oK1tTUmTZokBOtTpkzBzJkzJb0r7P9x3wfG2CcjIohEIhgbG2PChAl4+PAh1qxZg6tXrwoDrc+cOVNrjJSenh709fVRWFgoBFH8Hod9DPEDqaampjBu4Oeff4a7uzvi4uKQnJyMJUuWoHHjxoiIiMCZM2dqrSeNLC0tMWbMGHh5eWHAgAF48+YNCgsLMWbMGPj4+ODIkSPo378/3NzcsGLFCuTk5GDatGk4d+6csA1pC6KICHJycoiLi0O/fv2wfPlyXL16FXl5ecKYMgUFBVRVVQEAtmzZgtLSUiGpTk3SfO6xP6asrIz169dj165dWLFiBVq3bo0dO3Zg4cKF6NmzJy5cuICpU6dCTU1NaC1+/vw5ACAhIQHt27fnrqNfGO7axxj7S+K3tGIikUj4/VNnXO/WrZuwHX7YYJ+iqKgI3377LU6fPg03NzfExMTg4cOHWLJkCeLi4tC4cWMMHz4cu3btwtu3bzF+/HhJF1kixNdro0aNMGnSJFhYWGDWrFm4cuUK9u7dC11dXfTv3x8rV65Eq1at4OjoiODgYOzduxeLFy+GtbU1lJSUpO76lJGRwY0bN9CnTx+sXr0aM2fORGlpKQYOHIiYmBjk5ORAS0tLqPtevXqFnJwcoYWKsY8hbq0sKipCQEAAysrKYGdnh1OnTkEkEmHYsGE4fvw48vLy8OjRI2RnZ6Nv374wNTXF4sWLpWrM4r8Bt0gxxv6UOGgqKCjAzp07AUB4kBg6dCieP3+OW7duYdKkSTAwMMCOHTtw7do1ODg4wNnZGUeOHEGTJk1Qr149oXuMSCSS1O6wf4Hft1SKz5eHDx8iPj4ea9euRVRUlBBEnT17Fo0bN8b169cRFxeH4uJilJSUSKLoEiU+TuJWu0mTJmHAgAHYtm0bOnToAENDQ+jq6mLChAnw8PBA8+bNMXToUOzfvx8VFRVISEjA4cOHUbduXakLosQSExOxe/duzJkzB0QEJSUlTJgwAbdv38aJEyeE5V6+fInVq1fDzMxMagN29veIr60LFy4gICAAFy5cgLKyMiZNmoRmzZqhS5cusLe3R2JiIg4dOgQTExMkJydDQUEBbdq04aykXxpijLE/UFVVRURE+fn5ZGxsTDIyMuTn5yd8v3PnzlrLp6Wl0aZNm8jR0ZFu375NRERPnjyh4ODg97bJ2O+JRCKqrKwUfk9ISKh1vsydO5f27t1LRETBwcHUokULevLkCRERRUZGkp6eHl24cOGzlvlLIT5uN2/eJHNzc8rKyiIiorKyMiIi+v7776lHjx7UunVrGjhwIOXl5VHbtm0pPj6ezp07RwYGBnTnzh2JlV8SRCIREX24TqqqqqKqqiqqqKggIqIVK1aQk5NTrWV++eUXevPmzR9ug7E/Iz63iKrvsZs2baKHDx+Si4sLjRs3jvLy8oiIaM6cObRs2TIJlZL9FW6RYox9kDijXkFBAbp06YI+ffogPDwcsbGxePLkCQDAzc0NAFBeXg4A0NfXR25uLu7du4cNGzYgLCwMenp6GDFiBACebJf9uRcvXgitnYsXL4avry8qKioAADk5Obh37x4aNWqEe/fuwcPDA6tWrYKenh6io6MxefJk+Pj4oFevXkKLFknRGDw5OTkkJSVh7NixcHZ2Frr/iOeFatCgATZt2oQff/wRly5dgo6ODkJDQ/HmzRu4ubkhJCQE7du3l/BefB5FRUUA/tMyIK6ToqKisHv3brx69QqysrKQlZWFvHz1CAgFBQXExsYKkxkDwMCBA6GhoVFrG4x9LPG5BQD169fHvXv3sHXrVvj7+yMnJwfXrl0DALi7uwv3Wvbl4TFSjLH3iLvzFRYWwtLSEr1794aPjw/S0tLw7NkzJCUlCSl/ZWVlhYxVKSkpePfuHdzc3JCWloaUlBTY29sL2+WHDfZHkpKSYGtri7CwMERGRiI2Nhbh4eF49uwZ9PX1oaWlhYCAAOjo6KC0tBR9+vTBzZs38erVK2zbtg07duzAgAEDamVL+9q7p5WWliIyMhL9+/dHamoqhg8fjjlz5mD69OkoKSmBnJyccG3Onj0bFRUVUFJSQmRkJHr37o0FCxbg/v37OHHihNQEUWFhYdi0aRP09PSgpaUFZWVl3L17Fzk5OSgvL0dFRQUsLCyESU7F55N4bBR3S2b/NPE5tnHjRsydOxd5eXk4e/askNREPGE9+zLxUw1jrBYigqysLHJyctC1a1eoqqpi27ZtAAADAwMMGjQICxYsQE5OznuB0dmzZ/H8+XOMHTsWS5cuhbu7++ffAfavQ0TQ19fHihUrMGjQIAQGBiI6OhpLlizBsmXLhOXEc6coKSnBx8cHIpEIvr6+cHJyei+IkgY//fQTVqxYgR07dmDgwIGYO3cupk+fjsrKSnTp0gU//PADgP+8GFFSUgIRwcLCAseOHUN8fDyCgoKkJogCgJYtW+L169dCFtEmTZrA2dkZxsbGCAkJQUxMDDp27Ci0hIoDp+LiYjRt2lTqMhmy/z1xnaWqqopnz57hwIEDtV6CsC8bB1KMsVrElbq3tzfU1dWRm5uL1atXIzk5GQAwc+ZMdO7cGWlpaQCquwBWVVWhpKQEISEh6NevHzQ1NWu90WXsj1RWVkJGRgZKSkrIysqCsrIyKisrMWrUKCQmJiIwMBAA4O/vjyVLlqCyshJAdWru9evXw8LCQpioV5qCKKC6a62VlRW8vLzQs2dPTJ48GQBga2uLYcOGCXPNiLv3AdXHiIjQt29fPHz4UKomjyUi1K9fH8rKypg6dSpcXV3h6uoKOTk5/PTTT9DQ0MD58+fx22+/CWnOxV1NT506BWVlZQnvAfua1atXD4MHD8b169fx9u1bSReHfSSekJcxJkhOTsaFCxeQkJCAQYMGwdHREenp6XB3d0ejRo2goKCAdevWYdy4cWjdunWteaIA4NGjRzA0NJS6lgH299y5cwcvX75E3759sWDBAsTHxyMsLAyDBw8W/t+9e3ds3LgR69atg6WlJWxsbLBo0SKhNbTmBKnSQtylNi0tDYMHD4a+vj7k5eWFOaL69euHuXPnwtDQEAMHDsTevXsB8CSxYr169cKePXvQsmVLBAcHw93dHRcvXkRqaiocHR2hqqqK6OhomJiYoLKyEvLy8ti3bx/s7OzQvHlzSReffcXE4/dUVFQkXBL2sXiMFGMMQPXD2evXr5GUlARFRUWUlZWhsrISenp62L9/PxITE+Hr64uRI0fi2bNnyMrKgqenJ+rWrYv79+8jISEB3bt3x4EDB/hhjX2U9PR0zJo1Cz4+PqioqEBkZCTmzZsHGRkZbNq0CfPmzUPHjh0RHx+P6OhoZGRk4KeffkJSUhJMTExAREIQJS1BgjiIevjwIRwdHTFv3jxMnjwZK1aswNSpU+Hp6Ynp06ejd+/eGDp0KE6cOAFlZWVs3bpVKo7PXyktLcWLFy9Qt25dHDt2DHPmzMGlS5eQlJQET09P/PbbbwgLC0O/fv0QFRUlTH4qbu1j7H+JA6h/H26RYoz9ocLCQpSVlaFhw4bCZw8fPkRaWho8PDzQunVrGBgYQE1NDXXq1MHgwYPRvHlzTirBPkp2djacnJwwdOhQjBw5EikpKXBychK6kTo4OCA8PBz79u3D2LFjcf78edjb2+PmzZswNTWVcOkl5/r163BycsLcuXMxbdo0AICNjQ0cHBzg4uICW1tbDBgwACtWrMCLFy+gra2NOXPmwMfHR8Il/zLY2tqiV69eWLp0KR48eCAEUWfPnkXLli0RFRUFW1tbEBEyMjLwzTffcBDKGPsgbpFijNVCRLh48SI2btyIkpIStGnTBrt37xZStbZs2VIYeB0cHMxBE/vbmjZtCm1tbaxbtw6ampoYNmyYEERt2rQJKSkp8PDwgLe3N3R0dKCjo4MNGzZIVRBVs6UtIyMDampqWLNmDVxdXTFt2jSUlpaid+/e6NOnDyZPnoyePXti8ODBQpKOOXPmwN7eHmfOnMGiRYvQtGlTSe6ORBERnj59iuLiYrRu3RoZGRlISEiAp6cnQkND0bJlS0RGRmLKlCk4ffo0ZGVloaurK+liM8a+YBxIMcZqkZGRgY6ODkxMTDBgwAAYGhri4cOHKCwsRJcuXSAvL4/y8nKUl5ejrKwMderU4WCK/W0TJ07E4cOHcfjwYVRUVGD06NHYsmUL9u/fj3PnzkFPTw8aGhqYNWsWdu7ciUWLFkm6yJ9NzSDK1dUVIpEIPj4+2Lt3r5AG3sLCAvb29pg7dy5sbGwwZMgQeHl5Aaie50hNTQ2hoaGS3I0vhoyMDO7cuYPc3FzY29vj6NGjWLBgAX777TeoqqoKQZS3t7eQBRLg+e8YY3+MAynG2HuMjY2FlOdAdVKAZcuW4ezZs9DR0cHTp0/Rtm1bTgXMPoo4ICAilJSUYOvWrRg3bhz09PRgYGCAJk2aoLKyEidPnoRIJMKdO3cQGRkJbW1tiEQiTJkyBS9fvsTp06fRs2dPSe/OZ1EziPLy8kJ4eDiuXbsGZWVlIXvcs2fPsGTJEowaNQpWVlbQ19cXgqgBAwZAQ0MDBw8eBIBaGeikmbq6Ojw9PVGnTh1kZWVBVVUV8vLyuHv3LiZPnoytW7diyJAhtY4/B1GMsT/CgRRj7A+JHyY6duwILS0tYU6VI0eOoGXLlhIuHfu3kJGRQUlJCUJDQ3Hz5k1ER0fD1dUVAFCnTh107twZCxYswPnz53Hu3Dn0799fmDNKVlYWSkpKWLp0KZSUlCS5G59NzYf4JUuW4NSpU7h27RqaNGlS63sDAwMYGBggMzMT+vr6MDAwwLVr17B582ZoamriwIEDAP4zjxQDevTogR49egConqRYQUEB7du3x5s3b3DmzBl07dpVahKXMMb+e/yahTH2h8QPE9ra2lBUVMT27dvx4sULNG3aFL1795Zw6diXrrS0FBcvXsTt27fh7OyM169fo7KyEmvXrkXDhg1RVVUFTU1NbNmyBVZWVli1ahUMDQ1x5MgRBAcHo7CwUNiWOIj62vMj1XyIX7VqFXbs2IGoqCghiCotLcXy5cvx5MkTYR1dXV14enqiqKgIbm5uyMnJqRVEcYvKh6moqGDWrFmYPn06SktLYWpqCpFIxEEUY+yjce3KGPtT4lYoW1tbPH36FE2aNIGvry+6dOki4ZKxL92KFSvg6uqKmzdvoqKiAg0bNsT9+/ehqKiI3377DbGxsQBQa6LTZcuWwcLCAv7+/ggKCkJpaWmtbX7ND7k1gyhPT09s3rwZVlZWOHbsmLBMy5YtcefOHWE+I/H1aWxsDFdXV5iamqJ79+7CdxxE/bk6depgypQpCAoKgrKyMh8vxtgn4fTnjLGP8uDBAxw4cABbtmyRdFHYF66qqgqysrJwcnKCh4cH0tPTsWfPHhAR9PT0oKioiJSUFEyZMgX37t3DiRMnEBsbW6vr3vTp09GoUSOsWrVKgnsiGZ6enjh16hTOnDmDS5cuISIiAmZmZjhw4AC6d+8OPz8/yMnJITs7GyUlJdDX1xfWTUxMRMOGDYUWLPZpOPhkjH0KDqQYY5+MxxCwv1JRUYHx48fDysoKK1euRN26dRESEgJFRUUsWrQI8vLyaNOmDZ48eYL169dDTU0NjRo1QmVlpTDJrjRydXXFxYsXceXKFTRu3BgA4O3tjZUrV0JXVxeJiYnYuHEj/Pz8UF5ejrp16yImJgYhISHo2rUrOnToINkdYIwxKcKBFGOMsX+USCSCt7c3Hj58CB0dHcTFxaFBgwZQVlZGfn4+5OXloaOjgxYtWqBBgwZ48eIFMjMzsX37duTn50NVVVXYljQF7bdu3YKXlxcOHDggBFFAdXc+JSUlGBkZoWvXrhg+fDju3r2LJk2awMDAACdOnMCkSZPw4MEDGBsbS3APGGNMunD7NWOMsX9UVVUVAKB79+64e/cuWrdujY0bN6KwsBD79u1D+/btUVxcjMjISLi5uSEvLw9du3aFlZUVAgICam1LWoIooHqc0+nTp4UgqqSkBAYGBmjfvj3u3buHHj164NKlSwgKCsJ3330ndPdbvHgxbt68yUEUY4x9ZtwixRhj7B+1cuVKBAcHY+TIkRg+fDi8vb2Rl5eHxo0bw97eHtu3b4evry9++OEH3Lp1C6qqqjAyMkJJSQl27dol6eJLHBGhqqoK48ePx7t37xAWFgYAyMvLw/79+xEdHY0+ffqgvLwc69atQ3h4OExNTSVcasYYkz4cSDHGGPvbfj/Ra2lpKX799Vd06dIFDRo0wL179/Ddd99hxIgRKC4uRseOHdGzZ08UFxdj4cKFiIiIQNu2bWFjY4OdO3cC4AH/YleuXEG3bt0AVI85U1BQQH5+Po4fP47169cLc3PxuCjGGJMMvlMxxhj7W8QTvRYUFGDq1KkoKyuDkpIS+vTpgwYNGqCgoABXr15Fly5dUFhYiMTERKirq6OiogKtWrWCn58fevToATs7OyGIIiKpD6LE7zfFQRQRQV5eHiKRCKqqqnj16hWKi4tx4cIFDqIYY0yCuEWKMcbYJxO3GhUUFKBnz55ISUmBu7s7Vq9e/d64psmTJ+PRo0do2bIl3r17Bz09Pfz2229o3bo1FBQUsGbNmlrbZLXVTLixbds2rFu3DhERERxEMcaYhPEdizHG2CcRzxNVUFAAKysrdOvWDWFhYXj58iVevHgB4D8TxT548AApKSlYt24dunbtirKyMrRt2xY5OTnQ0NDgIOojiIOo7du3cxDFGGNfEG6RYowx9tHEAU9hYSEsLS3x3XffYfPmzSgpKYGtrS1sbW2xdu1aYfm3b9+itLQUZWVliImJQVJSEs6ePQs7Ozts3boVgHSlOP+7Nm3aBA8PD9y6dYuDKMYY+0JwIMUYY+yjiAOeN2/ewMLCAgCQmpoqfH/v3j24urpi9+7daN++/XvrP3nyBH369IGdnR327t0LgFuiPlZkZCQaNmzIQRRjjH1B+O7FGGPso4hbjQICAtCpUyd07doVPXv2RHJyMt68eYN27dqhWbNmyMjIAFDdBVDcxU9s9OjRHET9DXZ2dhxEMcbYF4ZbpBhjjP2lR48e4cyZM7h27Ro6d+4MDw8PAICrqytyc3OhqqoKNzc3HDt2DHfv3sWpU6cgLy+PyspKyMrK4t69e7UCAQ6iGGOM/dvJS7oAjDHGvnyvX79GRUUFWrduDWNjY5SVlaFOnTrYs2cPrly5glu3bmHUqFFo0qQJHj16BCcnJzRu3BhxcXHIzMyEiYkJgoKC0KBBAwDgIIoxxti/HrdIMcYY+6A/SwLx/PlzlJaWQl9fX/js2bNnKCgogJOTE6ytrdGqVSuIRCLUq1cPffr0gYaGBieVYIwx9tXgQIoxxtgfKi0txZs3b6CjowMAiIuLg5ubG8rLy9GtWzf4+PhASUkJQPWYqOzsbHz33XeIjY1FvXr1JFl0xhhj7H+K+1Ywxhh7T0pKCgCgb9++sLGxgZ+fHwDAwMAAkyZNwqFDh+Dh4YH09HT4+voCAOTk5PDu3TtUVVWhsrIS/J6OMcbY14zHSDHGGBMQER4/fgwjIyOEhIQgMDAQFRUVaNy4MaZPn462bdvCzc1NWD4tLQ2nT59Gnz59YGRkhDdv3sDMzEwYC8UYY4x9rbhFijHGGIDqrnkyMjIwMDBAUFAQRo0ahevXr6N58+ZwdXXFo0ePagVRAKCiooL8/HxkZWUBAPz9/SEvz+/oGGOMff04kGKMMQaRSCR0zbO2toaVlRWOHj2KUaNGoVu3bnjz5g1+/fVXAEBFRYWwXpMmTdCvXz8EBwfjxYsXaNGiBWxsbACAu/Yxxhj7qvFrQ8YYk3JVVVWQk5NDQUEBzM3N0b17d+jq6kJXVxfdu3dHfHw8tm7dKiyvoKCAyspKyMvLo6SkBAYGBggJCYGWlhaWLl2KkpISAOAMfYwxxr5qHEgxxpiUk5OTw9u3b2FhYYG+ffti586dAIDRo0dDQ0MDoaGh8PT0RFZWFkxNTTFkyBDIy8vj9evXGDVqFPz9/VFUVAQ5OTkAQN26dSW5O4wxxthnwenPGWOMwdnZGYWFhTh+/DgAYPz48fj111+RkpICZWVl7Nu3D6mpqbh58yZUVVUxbNgwWFtbw8DAALNnz8aGDRsA/PncU4wxxtjXhAMpxhhjePfuHdTU1AAAY8aMwfXr12Fra4tevXrh+vXryM7OxqZNmyArK4s1a9bg6dOneP36NYqKijB79mxMnDiRk0wwxhiTKnzXY4wxJgRR/fr1g7q6OtLS0nDs2DEcPHgQ4eHhiI2Nha6uLpKTk7Fnzx4AQH5+PlRUVFBeXs5BFGOMManDdz7GGGMAgJiYGMjLyyMoKAjBwcGwsbGBgoIC6tevjydPnuDdu3ewt7fHsWPHMHDgQNSrVw+ysrI8JooxxphU4q59jDHGAFSnQJeVrZ4Vo2/fvsjLy8OlS5dw4cIFBAQEIC0tDSNGjMCyZcskXFLGGGNM8ngeKcYYYwAgBFEAEB4eDiUlJXz33Xfo2rUrtLW10aFDBwwZMkSCJWSMMca+HBxIMcYYq0UkEgEAoqOjoaSkBCsrK2RkZKBPnz4wMTGRcOkYY4yxLwMHUowxxmqRlZUVgqmTJ0/i8ePHaNeuHcaPHw+gOsU5Y4wxJu04kGKMMfYeWVlZEBHi4uJgaWmJlStXAuB5ohhjjDExTjbBGGPsT1VUVEBBQYGDKMYYY6wGDqQYY4wxxhhj7BNx1z7GGGOMMcYY+0QcSDHGGGOMMcbYJ+JAijHGGGOMMcY+EQdSjDHG/pWeP3+OjIyMT1rnwoULuHz58kcvf//+fZw5c+YTS1bblStXkJeX919tgzHG2JeHAynGGGP/SgsWLMCMGTM+aZ3k5GTMnz//o5dfvHgxwsLCPmpZIkJaWhoOHjwIOzs7XLt2DQAwYcIEhIaGflI5GWOMffnkJV0Axhhj7K9oaWkhNzf3g+nX5eX/cysjIjRv3hypqakf3I6TkxNu3LiBwsJC1KtX70//5smTJ3Hu3Dno6uqiRYsWtb5TUlLChQsX0LRpUwDA5cuXMWTIEDRq1AhlZWVYvHgxGjZsiMzMTOTk5MDR0fFTd5kxxtgXjlukGGOMffEUFRURGRmJyspKJCQkwNbWFunp6aisrKz1ExkZCUVFRWG9bdu2QV5eXvjR0NDAkSNH0KBBg1qf79mzp9bfS05OhpubG65du4anT58iNTUVqampSEpKQv369TF+/HghiAKAnj174uXLl/Dz80OLFi3g6uoKQ0NDhIeHo6qqCs2aNYOmpiY0NTUhJyeHn3766bMdO8YYY/8bHEgxxhj74g0fPhxNmzZFTk4ORo4ciejoaFhbW6NFixbCj5eXF3R1dTF+/HhhPTk5OYwbN+69gKvmj4mJCRQUFIR1EhISYGdnh+XLl8PX1xfbt28XvvPy8oKKigoWLlxYq3yVlZUAqlvEAKCqqgqVlZU4fPgwjhw5gtevX+P169d4+vQp5OXl0a9fv//l4WKMMfYZcNc+xhhjX7xt27bhzp076NKlC3Jzc7F7925MnDgRALBx40YcPnwYixcvhqqqKpYsWSKsJycn91Hbr7lcaGgoXFxcMG3aNLRp0wYODg7Izs6GpqYmAgMDER8fD1nZ2u8hN23aBD8/P7x48QJEBFVVVXz33XdITExE//79ERgYiBs3bmDs2LEwNTWFjo7OP3BUGGOMSRIHUowxxr54FRUVWLhwIdzd3TFs2DCMHz8eQUFB0NXVxYMHD3Dp0iWoqqr+7e3XHHu1YsUK4f/dunVDREQELCws0LhxY1y8eBHffPPNe+t7eXlhwYIFaNiwISwtLREREQEiQmZmJhQUFFBeXo7CwkJ06tQJcXFxf7ucjDHGvhzctY8xxtgXT0FBAREREZg5cyYyMzNhZGSEK1euICgoCA0bNsS5c+fw5MkToWud2Nu3b3Hw4MFa46F+/3P37l2ha97vhYaGYvz48bC0tMT169dhbGz8h2UMCwuDhoYGnj17BmtrawBAYGAgwsLChEAtKioKUVFR/8xBYYwxJlEcSDHGGPui3b17FytWrMDw4cPx7bffwsXFBRoaGkhNTcXz588xaNAgHD58GCYmJqhfvz5atmyJ5ORkAMDLly8xZcqUPx0jtX37dhgaGgp/79mzZ9i2bRtMTEwwatQoFBUVITMzE127doWenh709PSgoaGBESNG1Crnli1b4OzsDB0dHejo6CAqKgpbtmyBioqKsMzLly/h7OyM4uLiz3PwGGOM/c9wIMUYY+yLJisri5iYGPTs2RPdu3dHYWEhAgIC0LVrV5iammLjxo1ISUlBgwYNsGfPHsycORNGRkYAgLi4OJiamv7p9mfPno3u3bsDAK5duwZzc3MkJSWhW7ducHBwQHp6+ns/np6eqFu3rrCNQ4cOAQBsbW0BAEeOHMHLly+hq6uLnj17CsuNGDECjRo1go+Pzz96jBhjjH1+HEgxxhj7orVt2xaRkZGYNWsWGjRoAGdn5w8GN1VVVejevTvmzJkDAEhKSsKtW7dgb2//0X/LysoK2dnZ+OGHH2Bubv6ny9YcV5WZmfleCvW1a9di+vTp7623fPlyHD169L1uiIwxxv5dONkEY4yxf42/Cj6qqqqEf2fNmoWRI0eiWbNmf/tvnT59+r3JeIHqsVf9+/cXfvf09AQAXLp0CUB1kLV371506NAB+fn5ePHihTBxsL29PWxtbT84uTBjjLF/Dw6kGGOM/WuUlpZi9+7dOH78+HvfvXnzBvn5+QCAixcv4t69e9i/f//f/lslJSUYPHgwDh8+/N53W7ZsQXx8/Huf5+fno6ysDEB1xj8AGDRoEOLj47Fv3z5hOSUlpb9dLsYYY18GGeK+BYwxxv4lysrKICMjA0VFxb9ctqSkpNY4pk9VUVEBkUiEOnXq/O1tANXBHwdOjDH29eFAijHGGGOMMcY+ESebYIwxxhhjjLFPxIEUY4wxxhhjjH0iDqQYY4wxxhhj7BNxIMUYY4wxxhhjn4gDKcYYY4wxxhj7RBxIMcYYY4wxxtgn4kCKMcYYY4wxxj4RB1KMMcYYY4wx9ok4kGKMMcYYY4yxT/R/lrE/djdPTaYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "2# 分析不同客户的贡献\n",
    "customer_revenue = merged_data.groupby('khmc')['hk'].sum().reset_index()\n",
    "customer_revenue.columns = ['Customer', 'Total Revenue']\n",
    "customer_revenue = customer_revenue.sort_values(by='Total Revenue', ascending=False)\n",
    "\n",
    "# 设置文件名和路径\n",
    "output_file = '分析不同客户的贡献.xlsx'\n",
    "\n",
    "# 保存数据到文件\n",
    "customer_revenue.to_excel(output_file, index=False,engine='openpyxl')\n",
    "# 使用系统默认字体解决中文显示问题\n",
    "matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 设置默认字体为黑体\n",
    "matplotlib.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题\n",
    "\n",
    "# 读取合并后的数据\n",
    "merged_data = pd.read_csv('merged_data.csv', encoding='utf-8')\n",
    "\n",
    "# 分析不同客户的贡献（前十）\n",
    "customer_revenue = customer_revenue.sort_values(by='Total Revenue', ascending=False).head(10)\n",
    "\n",
    "# 绘制客户贡献图表\n",
    "plt.figure(figsize=(10, 6))\n",
    "sns.barplot(x='Customer', y='Total Revenue', data=customer_revenue)\n",
    "plt.title('前10名客户贡献分析')\n",
    "plt.xlabel('客户名称')\n",
    "plt.ylabel('总收入')\n",
    "plt.xticks(rotation=45, ha='right')\n",
    "plt.grid(True)\n",
    "\n",
    "# 保存图表到文件\n",
    "plt.savefig('customer_contribution_analysis.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "6ae88688",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-27T07:00:36.297187Z",
     "start_time": "2024-06-27T07:00:36.282147Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   cppp_x        hk\n",
      "0       1  15050.28\n",
      "1       1  16283.54\n",
      "2       0  16076.60\n",
      "3       8   8056.50\n",
      "4       9  10030.80\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# 确保cppp_x和hk列存在并拼写正确\n",
    "print(merged_data[['cppp_x', 'hk']].head())\n",
    "\n",
    "3# 分析不同产品的销售情况\n",
    "product_revenue = merged_data.groupby('cppp_x')['hk'].sum().reset_index()\n",
    "product_revenue.columns = ['Product', 'Total Revenue']\n",
    "product_revenue = product_revenue.sort_values(by='Total Revenue', ascending=False)\n",
    "\n",
    "#设置文件名和路径\n",
    "output_flie = '不同产品的销售情况.xlsx'\n",
    "\n",
    "product_revenue.to_excel(output_flie,index=False,engine='openpyxl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "e9696be4",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-27T07:01:22.246397Z",
     "start_time": "2024-06-27T07:01:22.214526Z"
    }
   },
   "outputs": [],
   "source": [
    "# 4. 分析销售人员的业绩\n",
    "sales_performance = merged_data.groupby('user_name_y')['hk'].sum().reset_index()\n",
    "sales_performance.columns = ['Salesperson', 'Total Revenue']\n",
    "sales_performance = sales_performance.sort_values(by='Total Revenue', ascending=False)\n",
    "\n",
    "#设置文件名和路径\n",
    "output_flie = '销售人员的业绩.xlsx'\n",
    "\n",
    "sales_performance.to_excel(output_flie,index=False,engine='openpyxl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "5f48530d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T07:40:44.375246Z",
     "start_time": "2024-06-28T07:40:44.185882Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "预测2025年的销售收入为: 36470521.73\n",
      "调整后的预测2025年的盈利为: 32639028.98\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\86130\\AppData\\Local\\Temp\\ipykernel_2640\\1413840455.py:34: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
      "  annual_revenue_cost = annual_revenue_cost.append({\n"
     ]
    },
    {
     "data": {
      "image/png": "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Ll68mOHXdbX8d+vWjf/97394eXmlGq5nGAYdO3bku+++480332TOnDnUrVuX1q1bZ3g7GTFy5EgGDRrEE088wYIFC5gxYwbPPfeca1he9+7dee211wCYPXu2a5hZzZo1geTho0888QSVK1fmp59+4rvvviMyMpJGjRqxe/du13amTJlC165dqVSpErNmzeLdd9/l/fff5/fff7+l/AcPHsRut1OwYEHXsrlz5/L5558zYMAAlixZQqNGjVi1ahX3338/4eHhTJw4kenTp+Pr60u7du2YMWOG67XOnj0bgNdee43169enO4zts88+o0GDBhQrVsz1nqxfvz5bX0NG9m1I/kNK48aN2blzJ5999hnfffcdUVFRvPrqqxnK06VLF15//XXq1KnDjBkz+PHHH2nfvr2rNM6ZM4eyZctSo0YN1+u+3nC/jLz318rIfigiGWCISL42depUAzC++OILwzAMIzIy0vDx8TEaNWqUYr3Q0FADMO6++24jMTHRtfyvv/4yAGP69OmuZc8++6wBGD/99FOK52jTpo1RsWJF1/0VK1YYgLFixYo0tzV58uR0cycmJhpRUVGGt7e3MX78+Bs+539dXW/GjBlGQkKCERMTY/zxxx9GxYoVjcqVKxsXL150rduyZUujRIkSRnh4eIrnePXVVw0PDw/jwoULhmEYxrx58wzAWLp0aYqcwcHBxiOPPOJa9sILLxg+Pj7GkSNHUjzf6NGjDcDYtWtXivchI+9548aNjcaNG6d6nc8++6xRunRp1/3p06cbgDFr1qwU623cuNEAjM8+++y679t/pfd5mDx5sgEYL7/8cor1R44caQBGWFiYYRiG8c8//xiA8cYbb6RYb9q0aQZgPPvsszfMEB0dbfj5+Rl169Z1LXv22WcNi8ViHDhwwLVs0aJFBpAip2EYxgcffGAAxsCBA1PlDw0NdS0rXbp0mnn++94/+OCDRvXq1a+bedSoUame3zAM4+jRo4bdbjdee+21FMsjIyONYsWKGY899phhGIaRlJRkBAcHGzVr1jScTqdrvcOHDxsOhyPF5zw9jRs3Nu666y4jISHBSEhIME6ePGm8/fbbBmA8+uijrvUAw9/f3/V1flXdunWNIkWKGJGRka5liYmJRpUqVYwSJUq4cl39Oh41alSKx6f1Hrdt2zZD2bPqNWR03+7bt69hsViMbdu2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KThy5Ajr1q27qfKdGd7e3tx7773Mnj2b0aNHu6b1djqdfP/995QoUSLFBCsZ5e7uftuOgnh5eWV43776tfP333+nGK6Xka+d1q1bM2zYMD7//HOGDBmS7noZfe3Z9d6LyI2pOKXj4MGDTJ8+nePHj7t+AL311lssXryYyZMn8+GHHxISEsLSpUt59NFHeeGFF0hKSqJevXosXLjQ5PQiN7Zo0SJOnjyZ4ijqtapUqcKECROYOHFithWnYsWK0axZM4YNG0bBggUpXbo0y5cvd83CdZWfnx/33Xcfo0aNIiAggJCQEFatWsXEiRNd5yJlFYfDwYcffshjjz3G+PHjeffddxk/fjwNGzakUaNGvPTSS4SEhBAZGcmBAwf49ddfU81i1q1bN1544QVOnjxJ/fr1qVixYoqPDxkyhGXLllG/fn169OhBxYoViY2N5fDhwyxcuJAvvvjCNYVzRj3zzDN8+eWXPP300zz//POcP3+ekSNHpihNAP/73/+YNm0abdq04fXXX+eee+7B4XBw/PhxVqxYQYcOHXjooYfS3EZ2fB4qVarE008/zbhx43A4HDRr1oydO3cyevToVNn/KzExkalTp1KpUiW6d++e5jrt2rVj3rx5nD17lhYtWnDffffRp08foqOjqV27Nn/88QffffddhrI+88wzPP3007z88ss88sgjHDlyhJEjR6a6FlG7du2oUqUKtWvXJjAwkCNHjjBu3DhKly5NhQoVALj77rsBGD9+PM8++ywOh4OKFSsSEhLCkCFD6N+/P4cOHaJVq1YULFiQ06dP89dff+Ht7c3gwYOxWq28//77dO/enYceeojnn3+eS5cuMWjQoCwfepieYcOG0bx5c5o2bcpbb72Fm5sbn332GTt37mT69Ok3NZX43XffzezZs/n888+pVasWVqs1Q0eTblZG9+2ePXsyadIk2rZty9ChQylatCjTpk1jz549N9xGo0aNeOaZZxg6dCinT5/mwQcfxN3dna1bt+Ll5eWaYfHuu+/mxx9/ZMaMGZQtWxYPDw/X18l/Zcd7LyIZYOLEFDkKYMyZM8d1/6effjIAw9vbO8XNbre7ZjUKCwszKlSoYPTu3dvYsmWLsWrVKqNx48bGAw88kGKWI5GcqGPHjoabm5tx5syZdNf53//+Z9jtduPUqVPpzoxlGEaqGcmeffZZw9vbO9V6AwcONP77bScsLMzo1KmTUahQIcPf3994+umnjU2bNqWaRer48ePGI488YhQsWNDw9fU1WrVqZezcuTPVTGeZnVXv559/TvPj9957r1GwYEHj0qVLhmEkz2zVrVs3o3jx4obD4TACAwON+vXrG0OHDk312PDwcMPT09MAjK+//jrN5z979qzRo0cPo0yZMobD4TAKFSpk1KpVy+jfv78RFRXl2mZG33PDMIxvv/3WqFSpkuHh4WFUrlzZmDFjRqoZvgzDMBISEozRo0cb1apVMzw8PAwfHx/jzjvvNF544QVj//79133fMvp5uDqb18aNG1M8Pq3PT1xcnPHmm28aRYoUMTw8PIy6desa69evT3cWu6vmzp1rAMa4cePSXWfx4sUGYIwZM8YwDMO4dOmS0a1bN6NAgQKGl5eX0bx5c2PPnj3pzqp3+PBh1zKn02mMHDnSKFu2rOHh4WHUrl3b+P3331PNqjdmzBijfv36RkBAgOHm5maUKlXKeO6551I8l2EYRr9+/Yzg4GDDarWmek/mzp1rNG3a1PDz8zPc3d2N0qVLG506dTJ+++23FM/xzTffGBUqVDDc3NyMO+64w5g0aVKan/O0XJ2R7kYA45VXXknzY2vWrDHuv/9+w9vb2/D09DTq1q1r/PrrrynWycysehcuXDA6depkFChQwLBYLKm+X2THa8jovr17926jefPmhoeHh1GoUCHjueeeM3755ZcbzqpnGMmzII4dO9aoUqWK4ebmZvj7+xv16tVL8V4dPnzYaNGiheHr62sArudIb5bRjLz3mdkPReTGLIZhGLenouVsFouFOXPm0LFjRyD54oNPPfUUu3btSnV+h4+PD8WKFeO9995j0aJFKU74PX78OCVLlmT9+vW60reISC41fvx4evbsSWRkZIqZy0REJP/SUL101KhRg6SkJM6cOUOjRo3SXCcmJiZVqbp6/78XwBQRkZwvPDyc9evXM2XKFKpUqaLSJCIiLvl6OvKoqCi2bdvGtm3bAAgNDWXbtm0cPXqUO+64g6eeeorOnTsze/ZsQkND2bhxIyNGjHCdw9S2bVs2btzIkCFD2L9/P1u2bKFr166ULl2aGjVqmPjKRETkZmzdupWHHnoINzc3vv32W7PjiIhIDpKvh+qtXLmSpk2bplr+7LPPMmXKFBISEhg6dChTp07lxIkTFC5cmHr1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kCnP1rqlPzjK9WlfFckdctK+mpkMmS5OxYsXN+16TadOnaJo0aIplhUtWpTExETOnTtHUFBQqscMGzaMwYMHp1q+dOnSmz43KzssW7bM7AgicgPaTyWzihV5gntDx/N/tvksOnQPA789S90iOt8pu2lfFckdcsK+GhMTk+F1M12cxowZQ9++ffniiy8oXbp0Zh9+y/77lzrDMNJcflW/fv3o1auX635ERAQlS5akRYsW+Pn5ZV/QDEpISGDZsmU0b948zSNmImI+7ady89rgnHMU++45jHR8yZMnRvDKw/dR1M/D7GB5kvZVkdwhJ+2rV0ejZUSmi1Pt2rWJjY2lbNmyeHl5pXqxFy5cyOxTZlixYsU4depUimVnzpzBbrdTuHDhNB/j7u6e5jTpDofD9E/UtXJaHhFJTfup3JS2ozEOr6ZSzDE6J8xi8IKifPWMhuxlJ+2rIrlDTthXM7P9TBenJ554ghMnTvDhhx9StGjR2/qNv169evz6668pli1dupTatWub/qaLiIikyTsAS5tRMLMbr9rn0u6fOszfHky7asFmJxMRkUzIdHFat24d69evp1q1are88aioKA4cOOC6HxoayrZt2yhUqBClSpWiX79+nDhxgqlTpwLw4osvMmHCBHr16sXzzz/P+vXrmThxItOnT7/lLCIiItnmrodh52wce+Yz0vEl3X8pQ4PyARTydjM7mYiIZFCmr+N05513cvny5SzZ+KZNm6hRowY1atQAoFevXtSoUYMBAwYAEBYWxtGjR13rlylThoULF7Jy5UqqV6/O+++/z8cff6ypyEVEJGezWKDtGAwPf6paQ3k4bg6Df91ldioREcmETB9xGj58OG+++SYffPABd999d6ohcpmZcKFJkyauyR3SMmXKlFTLGjduzJYtWzK8DRERkRzBtxiWVsNh7ku8YZ9Fm79rsbxaMA9UKnrjx4qIiOkyXZxatWoFwAMPPJBiuWEYWCwWkpKSsiaZiIhIXlPtCdg5C/cDvzHS8RWvzQ6hzptN8fPQeboiIjldpovTihUr0v3Y1q1bbymMiIhInmaxwIPjMD6rS634/bSMmcewhcUY9nBVs5OJiMgNZLo4NW7cOMX98PBwpk2bxjfffMPff/9Nz549syqbiIhI3lOgJJYW78P8N+hjn0HLjTVZVzWY+uUDzE4mIiLXkenJIa76/fff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cAMAhw8f7olbuCQKTpfJMAwWLFjAhx9+yPr168nOzvb6fnZ2NsnJyeTl5bmPtba2snHjRiZPnuw+5nQ6mTNnDqGhoXz00UeEhYV1e6+ysjJmzpzJNddcw8qVK7Fa9ccncrH8uVbP9d5gtjwWkQvz11r9/e9/z549e8jPzyc/P59169YB8N577/HCCy/04h2K9H+B/J26e/duAFJSUnrobi6eHtW7TI888gjvvvsua9euJSoqyp2s7XY7gwYNwmKx8Pjjj/Piiy8yfPhwhg8fzosvvkh4eDhz584FzKQ9Z84cmpubWbVqFU6nE6fTCcDgwYMJCgqivLycmTNnkpGRwauvvsqJEyfcc+hM9SJyfv5aq9u3b2f79u1MnTqV2NhYjh49yrPPPsvQoUOZNGlSwO5fpL/w11rNyMjwet/IyEgAhg4d6vV/zkWkO3+t0y+++IKtW7cya9Ys7HY7O3bsYOHChe7PS/S7QLTyG0iAc46VK1e6z+no6DAWL15sJCcnGzabzZg+fbpRWFjo/v6GDRvO+zpFRUWGYRjGypUrz3uOiPjmr7VaUFBgzJo1y4iLizNsNpuRlZVlzJ8/3ygtLfXzHYv0T/5aq2crKipSO3KRi+Svdbpr1y5j4sSJht1uN8LCwoyRI0caixcvNpqamvx8xyaLYbieIREREREREZFz0iYZERERERERHxScREREREREfFBwEhERERER8UHBSURERERExAcFJxERERERER8UnERERERERHxQcBIREREREfFBwUlERERERMQHBScREREREREfFJxERKRfMwyDm2++mVtuuaXb95YvX47dbqekpCQAMxMRkYFEwUlERPo1i8XCypUr2bZtGytWrHAfLyoq4qmnnuKNN94gIyOjR9+zra2tR19PRET6PgUnERHp99LT03njjTd44oknKCoqwjAM5s2bx0033cT111/PbbfdRmRkJElJSdx///3U1NS4r/3kk0+YOnUqMTExxMfHc8cdd3DkyBH394uLi7FYLKxZs4aZM2cSFhbGqlWrAnGbIiISQBbDMIxAT0JERKQn3H333dTX13Pvvffy/PPPs2PHDnJzc3nooYd44IEHOHXqFE899RRnzpxh/fr1AHzwwQdYLBbGjh1LU1MTzz77LMXFxeTn52O1WikuLiY7O5usrCx+97vf8a1vfQubzUZqamqA71ZERPxJwUlERAaM6upqcnJyqK2t5f3332f37t1s27aNTz/91H1OaWkp6enpHDp0iBEjRnR7jRMnTpCYmEhhYSE5OTnu4LRs2TIee+wxf96OiIj0IXpUT0REBozExER+8pOfMHr0aO655x527drFhg0biIyMdI9Ro0YBuB/HO3LkCHPnzuWqq64iOjqa7OxsgG4NJXJzc/17MyIi0qcEB3oCIiIiPSk4OJjgYPPXW0dHB3feeScvvfRSt/NSUlIAuPPOO0lPT+ePf/wjqampdHR0kJOTQ2trq9f5ERERvT95ERHpsxScRERkwLrmmmv44IMPyMrKcoeprmprazlw4AArVqxg2rRpAGzevNnf0xQRkX5Aj+qJiMiA9cgjj1BXV8cPfvADtm/fztGjR/nss8/48Y9/THt7O7GxscTHx/POO+9w+PBh1q9fz6JFiwI9bRER6YMUnEREZMBKTU1ly5YttLe3c8stt5CTk8Njjz2G3W7HarVitVpZvXo1u3btIicnh4ULF/LKK68EetoiItIHqaueiIiIiIiID6o4iYiIiIiI+KDgJCIiIiIi4oOCk4iIiIiIiA8KTiIiIiIiIj4oOImIiIiIiPig4CQiIiIiIuKDgpOIiIiIiIgPCk4iIiIiIiI+KDiJiIiIiIj4oOAkIiIiIiLig4KTiIiIiIiID/8fSDk8M4Fkt80AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "图表已保存到 annual_revenue_adjusted_profit_prediction.png\n"
     ]
    }
   ],
   "source": [
    "#5.预测2025年的销售收入和盈利\n",
    "# 确保日期列转换为年份\n",
    "merged_data['year'] = pd.to_datetime(merged_data['create_time']).dt.year\n",
    "\n",
    "# 计算年销售收入和成本\n",
    "annual_revenue_cost = merged_data.groupby('year').agg({'hk': 'sum', 'jz': 'sum'}).reset_index()\n",
    "annual_revenue_cost.columns = ['Year', 'Total Revenue', 'Total Cost']\n",
    "annual_revenue_cost['Total Revenue'] = annual_revenue_cost['Total Revenue'].astype(float)\n",
    "annual_revenue_cost['Total Cost'] = annual_revenue_cost['Total Cost'].astype(float)\n",
    "annual_revenue_cost = annual_revenue_cost.sort_values(by='Year')\n",
    "\n",
    "# 计算平均年增长率\n",
    "growth_rate = annual_revenue_cost['Total Revenue'].pct_change().mean()\n",
    "\n",
    "# 获取最新年份的销售收入和预测2025年的销售收入\n",
    "latest_revenue = annual_revenue_cost['Total Revenue'].iloc[-1]\n",
    "predicted_revenue_2025 = latest_revenue * (1 + growth_rate)\n",
    "\n",
    "# 计算平均盈利率\n",
    "annual_revenue_cost['Profit'] = annual_revenue_cost['Total Revenue'] - annual_revenue_cost['Total Cost']\n",
    "annual_revenue_cost['Profit Margin'] = annual_revenue_cost['Profit'] / annual_revenue_cost['Total Revenue']\n",
    "average_profit_margin = annual_revenue_cost['Profit Margin'].mean()\n",
    "\n",
    "# 预测2025年的盈利\n",
    "predicted_profit_2025 = predicted_revenue_2025 * average_profit_margin\n",
    "\n",
    "# 调整盈利预测以增加线之间的间距\n",
    "adjustment_factor = 0.9  # 例如，减少10%的盈利预测以增加差异\n",
    "adjusted_predicted_profit_2025 = predicted_profit_2025 * adjustment_factor\n",
    "\n",
    "print(f\"预测2025年的销售收入为: {predicted_revenue_2025:.2f}\")\n",
    "print(f\"调整后的预测2025年的盈利为: {adjusted_predicted_profit_2025:.2f}\")\n",
    "# 将预测值添加到 DataFrame 中\n",
    "annual_revenue_cost = annual_revenue_cost.append({\n",
    "    'Year': 2025, \n",
    "    'Total Revenue': predicted_revenue_2025, \n",
    "    'Total Cost': np.nan,  # 成本无法直接预测\n",
    "    'Profit': adjusted_predicted_profit_2025,\n",
    "    'Profit Margin': average_profit_margin\n",
    "}, ignore_index=True)\n",
    "\n",
    "# 数据可视化\n",
    "plt.figure(figsize=(10, 6))\n",
    "plt.plot(annual_revenue_cost['Year'], annual_revenue_cost['Total Revenue'], marker='o', label='Total Revenue')\n",
    "plt.plot(annual_revenue_cost['Year'], annual_revenue_cost['Profit'], marker='x', label='Adjusted Profit')\n",
    "plt.title('Annual Revenue and Adjusted Profit Prediction')\n",
    "plt.xlabel('Year')\n",
    "plt.ylabel('Amount')\n",
    "plt.legend()\n",
    "plt.grid(True)\n",
    "plt.xticks(np.arange(annual_revenue_cost['Year'].min(), 2026, 1))\n",
    "\n",
    "# 保存图表到文件\n",
    "output_file = 'annual_revenue_adjusted_profit_prediction.png'\n",
    "plt.savefig(output_file)\n",
    "\n",
    "# 显示图表\n",
    "plt.show()\n",
    "\n",
    "print(f\"图表已保存到 {output_file}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "d0f4fd1d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T08:04:05.067652Z",
     "start_time": "2024-06-28T08:04:04.850564Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "每一年水泥和矿粉的销售情况已保存到文件: '每年水泥矿粉各自销售.xlsx'\n"
     ]
    }
   ],
   "source": [
    "#6.每年各自的销售\n",
    "\n",
    "# 读取合并后的数据\n",
    "merged_data = pd.read_csv('merged_data.csv')\n",
    "\n",
    "# 确保日期列转换为日期类型\n",
    "merged_data['dzsj'] = pd.to_datetime(merged_data['dzsj'], errors='coerce')\n",
    "\n",
    "# 提取年份列\n",
    "merged_data['year'] = merged_data['dzsj'].dt.year\n",
    "\n",
    "# 计算每一年水泥和矿粉的销售额和销量\n",
    "sales_summary = merged_data.groupby(['year', 'hplx_x']).agg(\n",
    "    total_revenue=('hk', 'sum'),\n",
    "    total_volume=('jz', 'sum')\n",
    ").reset_index()\n",
    "\n",
    "# 过滤出水泥和矿粉的数据\n",
    "sales_summary = sales_summary[sales_summary['hplx_x'].isin([0, 1])]  # 假设 0 表示水泥，1 表示矿粉\n",
    "\n",
    "# 将结果保存到 DataFrame\n",
    "output_file_sales = '每年水泥矿粉各自销售.xlsx'\n",
    "sales_summary.to_excel(output_file_sales, index=False, engine='openpyxl')\n",
    "\n",
    "print(f\"每一年水泥和矿粉的销售情况已保存到文件: '{output_file_sales}'\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "68822313",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-06-28T08:02:00.104423Z",
     "start_time": "2024-06-28T08:02:00.084181Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   id_x  khxx_id_x  zd_id  hplx_x  cpgg_x  cppp_x   fhdw  hyfs      ywlx_code  \\\n",
      "0  2022         74     52       0       0       1  100.0     1  配送 (贸易+起驳+运输)   \n",
      "1  2022         74     52       0       0       1  100.0     1  配送 (贸易+起驳+运输)   \n",
      "2  2023        216    271       0       0       0   50.0     1     自提 (贸易+起驳)   \n",
      "3  2025        218    273       1       1       8   50.0     0        自提 (贸易)   \n",
      "4  2026         40     48       1       1       9   35.0     0     配送 (贸易+运输)   \n",
      "\n",
      "   fhd_id  ... user_name_y id_y.1      cph  id_x.2  fhdlx    mc  id_y.2  \\\n",
      "0     124  ...   DS0405000   76.0  鄂AEL662     124      2  德旺码头    52.0   \n",
      "1     124  ...   DS0405000   79.0  鄂ASS882     124      2  德旺码头    52.0   \n",
      "2     121  ...   DS0404003  411.0  鄂AQR812     121      2  江南码头   271.0   \n",
      "3     103  ...   DS0401002  314.0  鄂L1D516     103      0   金盛兰   273.0   \n",
      "4     105  ...   DS0406000  123.0  鄂AFX865     105      0  武新二期    48.0   \n",
      "\n",
      "   khxx_id_y    zdmc  year  \n",
      "0       74.0   华升阳砖厂  2022  \n",
      "1       74.0   华升阳砖厂  2022  \n",
      "2      216.0      自提  2022  \n",
      "3      218.0  中昇东浩商砼  2022  \n",
      "4       40.0  武汉鑫正商砼  2022  \n",
      "\n",
      "[5 rows x 38 columns]\n"
     ]
    }
   ],
   "source": [
    "print(merged_data.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0d0e007a",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
